Adobe Air 无法连接到 iOS10 上的服务器

Adobe Air Can't Connect to Server on iOS10

我在 Appstore 上有一个应用程序已经有 2 年了。 我用 Adob​​e AIR 开发的。

在 iOS10 我的应用程序无法运行。无法连接到 http 链接。

我调试并从连接中得到错误: 错误 #2044:未处理的 ioError:。 text=Error #2032:流错误。 URL: 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);

听起来它与 iOS App Transport 安全设置有关。

要启用 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>