Meine App-Erweiterung muss URL von vielen Websites öffnen. Ich tun, wie folgend:App-Transportsicherheit auf Safari-Erweiterung
for (NSExtensionItem *item in self.extensionContext.inputItems) {
for (NSItemProvider *itemProvider in item.attachments) {
if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeURL]) {
[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeURL options:nil completionHandler:^(NSURL *url, NSError *error) {
NSLog(@"URL: %@",url);
ich die URL bekommen, aber an diesem Punkt habe ich diesen Fehler:
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
Ich habe versucht, ganz ATS auszuschalten,
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key> <true/>
</dict>
aber Es funktioniert nicht und ich kann keine Websites in NSExceptionDomain auflisten. Ich habe am Simulator und am Gerät versucht. Jemand könnte helfen?
EDIT
ich denke, dass der Code, der das Problem dazu führen, dass diese ist:
NSString* htmlString = [NSString stringWithContentsOfURL: url encoding:NSUTF8StringEncoding]
Ich benutze diese Zeile Code nach url log die HTML als Klartext zu erhalten.
Danke für Ihre Antwort, aber es funktioniert nicht für mich. Dieser Wert in der PLIST ist auf JA gesetzt und ich habe versucht, Ihre Methode, um das HTML zu bekommen, aber es gibt null zu mir – Totka
@Totka Ich nehme an, Sie haben diese URL in ios8 versucht und es funktioniert. Ich habe festgestellt, dass manchmal das Hinzufügen eines "s" zu http es auf ios9 funktioniert. –