https://developer.apple.com/videos/wwdc/2015/?id=711 @ 5: 55
Ich kann dies anscheinend nicht zu meiner info.plist hinzufügen. Es gibt keinen Wert dafür. Ich verwende XCode Version 7.0 Beta (7A121l) und teste auf iOS9.
Da ich nicht genau angeben kann, welche URLs im Video angezeigt werden sollen, wird immer wieder angezeigt, dass App Transport Security das Laden von HTTP-Ressourcen (http: //) im Klartext blockiert hat, da diese unsicher sind. Temporäre Ausnahmen können über die App konfiguriert werden Info.plist Datei "Fehler.
Ich scheine es jedoch nicht konfigurieren zu können. Irgendwelche Ideen?
ios
objective-c
xcode
ios9
chris P.
quelle
quelle
Antworten:
versuche damit --- hat bei mir in Xcode-beta 4 7.0 funktioniert
Wenn Sie ATS deaktivieren möchten, können Sie Folgendes verwenden:
Dies wird jedoch überhaupt nicht empfohlen. Der Server sollte über die SSL-Zertifikate verfügen, damit keine Datenschutzlecks auftreten.
quelle
<key>NSAllowsArbitraryLoads</key> <true/><key>NSExceptionDomains</key>
Andernfalls funktionierte es für mich aus irgendeinem Grund nicht für die Release-VersionSie müssen YES im NSAppTransportSecurity-Wörterbuch in Ihrer Datei info.plist nur den Schlüssel NSAllowsArbitraryLoads hinzufügen.
Beispielsweise,
quelle
Das hat bei mir nicht funktioniert, aber das hat den Trick gemacht:
quelle
<true/>
statt<YES/>
</dict>
und</plist>
Tags:Nur zur Klarstellung ... Sie sollten immer httpS verwenden
Sie können es jedoch umgehen und die Ausnahme hinzufügen:
quelle
Xcode 8.2, iOS 10
quelle
Antwort aktualisieren (nach wwdc 2016):
App Transport Security (ATS) ist eine Funktion, die Apple in iOS 9 eingeführt hat. Wenn ATS aktiviert ist, wird eine App gezwungen, über eine HTTPS-Verbindung eine Verbindung zu Webdiensten herzustellen, anstatt über nicht sicheres HTTP.
Entwickler können ATS jedoch weiterhin ausschalten und ihren Apps erlauben, Daten über eine HTTP-Verbindung zu senden, wie in den obigen Antworten erwähnt. Ende 2016 wird Apple ATS für alle Entwickler verbindlich machen , die hoffen, ihre Apps im App Store einzureichen. Verknüpfung
quelle
Dadurch kann eine Verbindung zu .com .net .org hergestellt werden
quelle
quelle
Um etwas mehr über die Antwort von ParaSara zu erklären: Die Sicherheit des App-Transports wird obligatorisch. Wenn Sie versuchen, sie auszuschalten, wird Ihre App möglicherweise abgelehnt.
Als Entwickler können Sie die App Transport-Sicherheit deaktivieren, wenn Ihr Netzwerkcode nicht damit funktioniert, und Sie möchten die andere Entwicklung fortsetzen, bevor Sie Probleme beheben. Nehmen wir an, in einem fünfköpfigen Team können vier weiter an anderen Dingen arbeiten, während einer alle Probleme behebt. Sie können die App Transport-Sicherheit auch als Debugging-Tool deaktivieren, wenn Sie Netzwerkprobleme haben und prüfen möchten, ob diese durch die App Transport-Sicherheit verursacht werden. Sobald Sie wissen, sollten Sie es sofort wieder einschalten.
Die Lösung , die Sie müssen in der Zukunft verwenden ist nicht http überhaupt zu benutzen, es sei denn , Sie einen Drittanbieter - Server verwenden , die nicht https unterstützt. Wenn Ihr eigener Server https nicht unterstützt, hat Apple ein Problem damit. Selbst mit Servern von Drittanbietern würde ich nicht wetten, dass Apple dies akzeptiert.
Gleiches gilt für die verschiedenen Überprüfungen der Serversicherheit. Irgendwann akzeptiert Apple nur noch berechtigte Ausnahmen.
Bedenken Sie jedoch vor allem Folgendes: Sie gefährden die Privatsphäre Ihrer Kunden. Das ist ein großes Nein-Nein in meinem Buch. Tu das nicht. Korrigieren Sie Ihren Code und fragen Sie nicht nach der Erlaubnis, unsicheren Code auszuführen.
quelle
Eine schlechte Nachricht für Entwickler, die NSAppTransportSecurity verwenden.
https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/
quelle
Verwenden Sie in der Mac Shell-Befehlszeile den folgenden Befehl:
Der Befehl fügt alle erforderlichen Werte zu Ihrer plist-Datei hinzu.
quelle
XCODE 8, Swift 3: Sie müssen eine Zeile hinzufügen: **
** in der info.plist inside information Eigenschaftsliste.
quelle
Xcode 9.2, Swift 4, das funktioniert bei mir.
quelle