Adobe Air не может подключиться к серверу на iOS10

Имею приложение в Appstore вроде 2 года. Я разработал с помощью Adobe AIR.

На iOS10 мое приложение не работает. Не удается подключиться к http-ссылкам.

Я отлаживаю соединения и получаю сообщение об ошибке: Ошибка № 2044: Необработанная ошибка ioError :. text = Ошибка № 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);

person Flash Atölyesi    schedule 27.09.2016    source источник
comment
Это может быть что угодно, от использования не https ссылки до, возможно, не 64-битного приложения. Ожидания Apple в отношении приложений изменились. Я не могу вам ответить, просто исследуйте, ожидая ответа. Например, проверьте, что URLRequest для загрузки некоторого текстового файла с URL http по сравнению с загрузкой с URL https. Если оба работают при тестировании iOS, будет устранена одна проблема и т. Д.   -  person VC.One    schedule 28.09.2016
comment
Я обнаружил ошибки в требованиях к серверу. Нашел ссылку https, чтобы попробовать, и это сработает. Но моя http-ссылка не работает. Некоторые форумы говорят, что на вашем сервере должна поддерживаться iPv6. Вы знаете, какие требования необходимы для работы с iOS10?   -  person Flash Atölyesi    schedule 28.09.2016


Ответы (1)


Похоже, это связано с настройками безопасности 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>

Эти настройки следует добавить в узел InfoAdditions в настройках дескриптора вашего приложения iPhone:

<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>
person Michael    schedule 28.09.2016