【问题标题】:Get HTML from Safari share extension?从 Safari 共享扩展中获取 HTML?
【发布时间】:2015-08-10 12:33:06
【问题描述】:

在共享扩展中,我设法使用以下代码获取了 Safari 页面的 URL:

NSExtensionItem *item = self.extensionContext.inputItems.firstObject;
NSItemProvider *itemProvider = item.attachments.firstObject;
if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeURL]){
    [itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeURL
                                    options:nil
                          completionHandler:^(NSURL *url, NSError *error){
                              NSLog(@"%@", url.absoluteString);
                          }];
}

我还能获取页面的 HTML 吗?

【问题讨论】:

    标签: ios xcode safari-extension ios8-extension ios8-share-extension


    【解决方案1】:

    检查以下代码,

    [itemProvider loadItemForTypeIdentifier: (NSString *) kUTTypePropertyList
                                    options: 0
                          completionHandler: ^(id<NSSecureCoding> item, NSError *error) {
                              if (item != nil) {
                                  NSDictionary *resultDict = (NSDictionary *) item;
                                  NSString *jsString = resultDict[NSExtensionJavaScriptPreprocessingResultsKey][@"content"];
                              }
                          }];
    

    Creating an iOS App Extension to perform custom actions with Safari content - swiftiostutorials.com

    【讨论】:

    • 感谢您的回答,但它不起作用... *(item) 的打印描述:(id) [0] = 项目打印描述:
    • 打印错误描述:Error Domain=NSItemProviderErrorDomain Code=6902136592“没有可用于请求类型标识符的项目。” UserInfo=0x174269b80 {NSLocalizedDescription=请求的类型标识符没有可用的项目。}
    • 我已经更新了我的答案。请检查该教程
    • @benhi 可能在 info.plist NSExtensionActivationSupportsWebPageWithMaxCount 中遗漏了非零值的键。
    猜你喜欢
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多