Ich bin mit dem loadItemForTypeIdentifier: Optionen: completionHandler: Methode auf einem NSItemProvider Objekt über einen Anteil Erweiterung eine URL von Safari zu extrahieren in iOS 8.iOS 8 Teilen Erweiterung loadItemForTypeIdentifier: Optionen: completionHandler: Abschluss Schließung Ausführung nicht
In Objective-C, dieser Code und funktioniert und der Block läuft.
[itemProvider loadItemForTypeIdentifier:(@"public.url" options:nil completionHandler:^(NSURL *url, NSError *error) {
//My code
}];
In Swift sieht es sehr ähnlich aus, aber die Schließung läuft nicht. Auch itemProvider.hasItemConformingToTypeIdentifier("public.url")
kehrt YES
so muss ein gültiges Objekt sein, die URL zu analysieren aus dem Innern der itemProvider
.
itemProvider.loadItemForTypeIdentifier("public.url", options: nil, completionHandler: { (urlItem, error) in
//My code
})
Der Info.plist NSExtension Teil ist genau das gleiche sowohl für Objective-C und Swift-Version und sieht wie folgt aus:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>1</integer>
</dict>
<key>NSExtensionPointName</key>
<string>com.apple.share-services</string>
<key>NSExtensionPointVersion</key>
<string>1.0</string>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.share-services</string>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
</dict>
Was mache ich falsch?
Ich hasse es, derjenige zu sein, der es sagt, aber verstößt dies nicht gegen die allgemeinen Geschäftsbedingungen des Entwicklers? NDAs für neue Releases usw. – ScottMcGready
@ScottMcGerade, Sie müssen das Memo verpasst haben, aber sie haben die NDA ein wenig gelockert. Google es. –
Ich habe gerade die Ansicht von, es ist Apple- es ist wahrscheinlich unter NDA. Froh, dass sie sich ein bisschen mehr öffnen. Sie müssen die Dokumente lesen, die jetzt aktualisiert wurden. – ScottMcGready