Я создаю расширение для общего доступа iOS, которое принимает разные типы данных, и веб-URL является одним из них.
Открываем Safari на iPhone и нажимаем кнопку «Поделиться», затем выбираем расширение общего доступа в меню,приведет к открытию всплывающего окна по умолчанию для расширения общего доступа (shareviewcontroller, унаследованного от SLComposeServiceViewController) с заголовком страницы в качестве значения contentText (доступно только для чтения, если вы не знаете).
Вы можете получить URLиспользуя следующий метод:
NSExtensionContext *extensionContext = self.extensionContext;
NSArray *userInputArray = extensionContext.inputItems;
for (NSExtensionItem *extensionItem in userInputArray) {
for (NSItemProvider * itemProvider in extensionItem.attachments) {
if ([itemProvider hasItemConformingToTypeIdentifier:@"public.url"]) {
[itemProvider loadItemForTypeIdentifier:@"public.url"
options:nil
completionHandler:^(NSURL *url, NSError *error) {
NSString *urlString = url.absoluteString;
}];
}
}
}
У меня есть вопрос: как мне задать для contentText абсолютную ссылку?То есть, как отобразить URL страницы вместо заголовка страницы.
Единственное, о чем я могу думать, это сделать в обработчике завершения:
NSString *urlString = url.absoluteString;
dispatch_async(dispatch_get_main_queue(), ^{
[self.textView setText:urlString];
});