2016-09-27 61 views
0

我有2年的Appstore應用程序。 我使用Adobe AIR開發的。Adob​​e Air無法連接到iOS10上的服務器

在iOS10上我的應用程序無法正常工作。無法連接到http鏈接。

我調試並從連接中得到錯誤: 錯誤#2044:未處理ioError :.文本=錯誤#2032:流錯誤。網址:http://api.website.net/check.php

我用HTTPStatusEvent.HTTP_STATUS爲了解任何解決方案,它提供了0

任何方法來解決?

我的代碼:

var urlReq:URLRequest = new URLRequest ("http://api.website.net/check.php");    
urlReq.method = URLRequestMethod.POST;   
var urlVars:URLVariables = new URLVariables();   
urlVars.user_id = Main.instance.userID;  
urlReq.data = urlVars; 


var loader:URLLoader = new URLLoader (urlReq); 
loader.addEventListener(Event.COMPLETE, onCreditComplete); 


loader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, httpStatusHandler); 
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); 


loader.dataFormat = URLLoaderDataFormat.VARIABLES; 
loader.load(urlReq); 
+1

可能是_using非'https' link_可能是__非64位app_。蘋果對應用程序的期望已經改變。我無法回答你,只是在等待答案時進行調查。例如,測試URLRequest用於從'http' url加載一些文本文件,並從'https' url加載。如果兩者均可在iOS測試中使用,那麼將會消除一個問題等。 –

+0

我發現有關服務器要求的錯誤。 找到一個https鏈接來嘗試這項工作。但我的http鏈接不工作。有些論壇說你的服務器必須支持iPv6。 你知道哪些需求需要使用iOS10嗎? –

回答

4

聽起來像它的相關的iOS應用程序傳輸的安全設置。

要啓用http請求,你要麼需要定義應用程序描述符域爲例外:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>api.website.net</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
     </dict> 
    </dict> 
</dict> 

或添加全局忽略安全設置:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

這些設置應該添加到您的應用程序描述符的iPhone設置中的InfoAdditions節點中:

<iPhone> 
    <InfoAdditions><![CDATA[ 
     <key>UIDeviceFamily</key> 
     <array> 
      <string>1</string> 
      <string>2</string> 
     </array> 

     <!-- Add the above settings here --> 

    ]]></InfoAdditions> 
    <requestedDisplayResolution>high</requestedDisplayResolution> 
    <Entitlements> 
     <![CDATA[ 
     ]]> 
    </Entitlements> 
</iPhone> 
+0

謝謝,這解決了問題;) –