我正在构建一个iOS共享扩展程序,该扩展程序可以接受不同的数据类型,并且Web网址就是其中之一。
在iPhone上打开Safari,然后点击共享按钮,然后从菜单中选择共享扩展名,将导致打开共享扩展名默认弹出窗口(shareviewcontroller继承自SLComposeServiceViewController),页面标题为contentText值(读取为-仅在您不知道的情况下。)
您可以使用以下方法获取网址:
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];
});