我正在构建iOS Share扩展程序。我需要从网页中获取一些数据,因此我使用JavaScript文件来获取数据并将其发送回应用以在扩展中使用。
我注意到了以下内容。当我使用我的JavaScript文件设置NSExtensionJavaScriptPreprocessingFile
密钥时,SLComposeServiceViewController
显示完美但没有图像!
像这样:
如果我删除了NSExtensionJavaScriptPreprocessingFile
我的SLComposeServiceViewController
这样的节目:
但是我需要访问网页上的一些数据(我用JS抓取的那个),但我也需要那个图像!我完全失去了如何获得这两者,或者我甚至不知道这是否可能,因为Apple文档有点令人困惑。
谢谢!
答案 0 :(得分:2)
我肯定不知道答案,但我自己一直在研究有关扩展分享的问题,并且遇到了一对可能对您有用的问题。一般的想法是继续使用JavaScript预处理器并手动设置预览图像。
使用以下内容检索图像:
[itemProvider loadPreviewImageWithOptions:nil completionHandler:^(UIImage *image, NSError *error){
if(image){
//do anything here with the image
}
}
如下所述: iOS 8 Share Extension Safari Image
通过覆盖SLComposeServiceViewController
:
loadPreviewView
的预览图像
override func loadPreviewView() -> UIView! {
imagePreviewView = UIImageView(image: UIImage(named: "imageName"))
return imagePreviewView
}
如下所述: Change the preview image in an SLComposeServiceViewController
同样,我不知道这是否有效。看起来应该是我应该阅读的内容。