Расширение общего доступа к iOS 8 loadItemForTypeIdentifier: параметры: завершение Хендлер: закрытие завершения не выполняется
Я использую loadItemForTypeIdentifier: options: завершениеHandler: метод объекта NSItemProvider для извлечения URL-адреса из Safari через расширение Share в iOS 8.
В Objective-C этот код и работает, и блок запускается.
[itemProvider loadItemForTypeIdentifier:(@"public.url" options:nil completionHandler:^(NSURL *url, NSError *error) {
//My code
}];
В Swift это выглядит очень похоже, однако замыкание не выполняется. Также,itemProvider.hasItemConformingToTypeIdentifier("public.url")
возвращаетсяYES
поэтому должен быть действительный объект для анализа URL-адреса изнутриitemProvider
.
itemProvider.loadItemForTypeIdentifier("public.url", options: nil, completionHandler: { (urlItem, error) in
//My code
})
Часть Info.plist NSExtension точно такая же для версий Objective-C и Swift и выглядит следующим образом:
<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>
Что я делаю неправильно?