Я пытаюсь создать расширение общего доступа, используя новые расширения приложений iOS 8. Я попытался получить текущий URL-адрес сайта Safari, чтобы показать его в UILabel. Достаточно просто.
Я работал через официальное руководство по распространению из apple здесь https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Share.html#//apple_ref/doc/uid/TP40014214-CH12-SW1, но некоторые вещи работают не так, как ожидалось. Я знаю, что это только в бета-версии, но, возможно, я просто делаю что-то неправильно.
Вот мой код, чтобы получить URL-адрес сафари внутри расширений ViewController:
-(void)viewDidAppear:(BOOL)animated{
NSExtensionContext *myExtensionContext = [self extensionContext];
NSArray *inputItems = [myExtensionContext inputItems];
NSMutableString* mutableString = [[NSMutableString alloc]init];
for(NSExtensionItem* item in inputItems){
NSMutableString* temp = [NSMutableString stringWithFormat:@"%@, %@, %lu,
%lu - ",item.attributedTitle,[item.attributedContentText string],
(unsigned long)[item.userInfo count],[item.attachments count]];
for(NSString* key in [item.userInfo allKeys]){
NSArray* array = [item.userInfo objectForKey:@"NSExtensionItemAttachmentsKey"];
[temp appendString:[NSString stringWithFormat:@" in array:%[email protected]",[array count]]];
}
[mutableString appendString:temp];
}
self.myLabel.text = mutableString;
}
И это содержимое моего файла Info.plist моего расширения:
<dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.share-services</string>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>200</integer>
</dict>
</dict>
Когда я посещаю страницу поддержки Apple iPod в Safari и пытаюсь поделиться ею с моим расширением, я получаю следующие значения, но не URL:
item.attributedTitle = (null)
item.attributedContentText = "iPod - Apple Support"
item.userInfo.count = 2 (two keys: NSExtensionAttributedContentTextKey and
NSExtensionItemAttachmentsKey)
item.attachments.count = 0
Массивы внутри объектов словаря всегда пусты.
Когда я делюсь сайтом apple с системным почтовым приложением, URL-адрес отправляется в сообщение. Итак, почему в моем расширении нет URL-адреса?