2016-09-27 4 views
0

Ich habe eine AppStore-Anwendung wie 2 Jahre. Ich habe mit Adobe AIR entwickelt.Adobe Air kann keine Verbindung zum Server unter iOS10 herstellen

Auf iOS10 funktioniert meine App nicht. Es kann keine Verbindung zu http-Links hergestellt werden.

Ich debugge und bekomme Fehler von Verbindungen: Fehler # 2044: Unbehandelt ioError :. text = Fehler # 2032: Stromfehler. URL: http://api.website.net/check.php

I verwendet HTTPStatusEvent.HTTP_STATUS für jede Lösung zu verstehen, gibt es 0

Alle Methoden zu lösen?

MEIN CODE:

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

Könnte alles von _using nicht 'https' link_ sein, möglicherweise ist es _a nicht 64-bit app_. Apples Erwartungen an Apps haben sich geändert. Ich kann dir nicht antworten, aber untersuche nur, während du auf eine Antwort wartest. Testen Sie zum Beispiel das URLRequest zum Laden einer Textdatei von einer "http" URL gegen das Laden von "https" URL. Wenn beide an iOS-Tests arbeiten, wird ein Problem behoben usw. –

+0

Ich habe Fehler über Serveranforderungen gefunden. Gefunden einen https-Link, um zu versuchen, und das funktioniert. Aber mein http-Link funktioniert nicht. Einige Foren sagen iPv6 muss auf Ihrem Server unterstützt werden. Wissen Sie, welche Anforderungen mit iOS10 funktionieren müssen? –

Antwort

4

Klingt wie es zu den iOS App Transport Sicherheitseinstellungen in engen Zusammenhang steht.

Um http Anfragen aktivieren Sie müssen entweder auf die Domains als Ausnahmen in Ihrem Anwendungsdeskriptordatei definieren:

<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> 

oder eine globale hinzufügen Sicherheitseinstellung ignorieren:

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

Diese Einstellungen sollte zum InfoAdditions Knoten in Ihren iPhone-Einstellungen Ihres Anwendungsdeskriptors hinzugefügt werden:

<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

Danke, das löst das Problem;) –

Verwandte Themen