diff --git a/ios/dtx_codec/connection.go b/ios/dtx_codec/connection.go index 012efbc9..f2b1cdb5 100644 --- a/ios/dtx_codec/connection.go +++ b/ios/dtx_codec/connection.go @@ -131,7 +131,7 @@ func (g GlobalDispatcher) Dispatch(msg Message) { if msg.HasError() { log.Error(msg.Payload[0]) } - if msg.PayloadHeader.MessageType == UnknownTypeOne { + if msg.PayloadHeader.MessageType == UnknownTypeOne || msg.PayloadHeader.MessageType == ResponseWithReturnValueInPayload { g.dtxConnection.Dispatch(msg) } } diff --git a/ios/xpc/encoding.go b/ios/xpc/encoding.go index 769a5cf5..003f0d8a 100644 --- a/ios/xpc/encoding.go +++ b/ios/xpc/encoding.go @@ -59,6 +59,11 @@ type Message struct { Id uint64 } +type MagicAndVersion struct { + magic uint32 + version uint32 +} + func (m Message) IsFileOpen() bool { return m.Flags&FileOpenFlag > 0 } @@ -114,10 +119,7 @@ func EncodeMessage(w io.Writer, message Message) error { wrapper := struct { magic uint32 h wrapperHeader - body struct { - magic uint32 - version uint32 - } + body MagicAndVersion }{ magic: wrapperMagic, h: wrapperHeader{ @@ -125,10 +127,7 @@ func EncodeMessage(w io.Writer, message Message) error { BodyLen: uint64(buf.Len() + 8), MsgId: message.Id, }, - body: struct { - magic uint32 - version uint32 - }{ + body: MagicAndVersion{ magic: objectMagic, version: bodyVersion, },