Расширение общего доступа к 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>

Что я делаю неправильно?

Ответы на вопрос(6)

Ваш ответ на вопрос