iOS 真機調試不能連接網絡的排錯過程


開發環境:

macOS 10.12.1
Xcode 8.1
Qt 5.8
gSOAP 2.8
iPhone 6S+iOS 10.1.1
 
問題:
使用 Qt Quick 寫了一個跨平台的應用,在Win10、Android、macOS下都已經正常運行,但是連接到 iOS 真機調試的時候,gSOAP 調用 Webservice 總是返回錯誤代碼28,我 根據百度出來的下面的 gSOAP 錯誤代碼表 一直在尋找有關 SOAP_DIME_END 的錯誤。
 

返回值錯誤代碼表(ERROR CODE

SOAP_EOF

-1

Unexpected end of file, no input, or timeout while receiving data

SOAP_ERR

-1

 

SOAP_OK

0

No error

SOAP_CLI_FAULT

1

The service returned a client fault (SOAP 1.2 Sender fault)

SOAP_SVR_FAULT

2

The service returned a server fault (SOAP 1.2 Receiver fault)

SOAP_TAG_MISMATCH

3

An XML element didn't correspond to anything expected

SOAP_TYPE

4

An XML Schema type mismatch

SOAP_SYNTAX_ERROR

5

An XML syntax error occurred on the input

SOAP_NO_TAG

6

Begin of an element expected, but not found

SOAP_IOB

7

Array index out of bounds

SOAP_MUSTUNDERSTAND

8

An element needs to be ignored that need to be understood

SOAP_NAMESPACE

9

Namespace name mismatch (validation error)

SOAP_USER_ERROR

10

 

SOAP_FATAL_ERROR

11

Internal error

SOAP_FAULT

12

An exception raised by the service

SOAP_NO_METHOD

13

The dispatcher did not find a matching operation for the request

SOAP_GET_METHOD

14

HTTP GET operation not handled

SOAP_EOM

15

Out of memory

SOAP_NULL

16

An element was null, while it is not supposed to be null

SOAP_DUPLICATE_ID

17

Multiple occurrences of the same element ID on the input

SOAP_MISSING_ID

18

Element ID missing for an HREF on the input

SOAP_HREF

19

Reference to object is incompatible with the object refered to

SOAP_UDP_ERROR

20

Message too large to store in UDP packet

SOAP_TCP_ERROR

21

A connection error occured

SOAP_HTTP_ERROR

22

An HTTP error occured

SOAP_SSL_ERROR

23

An SSL error occured

SOAP_ZLIB_ERROR

24

A Zlib error occured

SOAP_DIME_ERROR

25

DIME parsing error

SOAP_DIME_HREF

26

DIME attachment has no href from SOAP body

SOAP_DIME_MISMATCH

27

DIME version/transmission error

SOAP_DIME_END

28

End of DIME error

SOAP_MIME_ERROR

29

MIME parsing error

SOAP_MIME_HREF

30

 

SOAP_MIME_END

31

 

SOAP_VERSIONMISMATCH

32

SOAP version mismatch or no SOAP message

SOAP_PLUGIN_ERROR

33

Failed to register plugin

SOAP_DATAENCODINGUNKNOWN

34

SOAP 1.2 DataEncodingUnknown fault

SOAP_REQUIRED

35

Attributed required validation error

SOAP_PROHIBITED

36

Attributed prohibited validation error

SOAP_OCCURS

37

Element minOccurs/maxOccurs validation error

SOAP_LENGTH

38

Element length validation error

SOAP_FD_EXCEEDED

39

 

 
實在解決不了了,於是下載了 iOS 10.0 Simulator ,在 iOS 虛擬機上跑了一下,沒有問題,說明可能是真機系統權限的問題。
因為我用的手機卡放在我的 Mate8 上,iPhone 開發機上沒有卡,是連接的 WIFI,突然想到,是不是應該把卡插到 iPhone 開發機上試一下。
插上卡之后,手機立馬提示是否允許使用網絡,同意之后,就可以聯網了。然后在【使用無線局域網與蜂窩移動的應用】中可以看到我的應用了。
其實前面說了一大堆都是廢話,只不過是記錄了一下我昨天嘔心瀝血大半天的填坑過程。總而言之,你如果真機調試 iOS 應用,最好插着你的 SIM 卡。
 
今天上午看到一篇相關的帖子,截圖如下:
 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM