ios - 来自共享扩展的 Safari 截图

标签 ios xcode ios8 ios-app-extension

是否可以从共享扩展中截取 Safari 中 webview 的当前可见区域?我可以使用窗口,但扩展不支持 UIApplication,因此我无法访问该窗口。

最佳答案

您不能,因为无法从扩展程序访问 UIApplication。您无法获得第一个 UIWindow,它是 Safari 层,因此您必须使用扩展程序具有的 Javascript 预处理文件。因此,只需创建一个 Javascript 文件,当发送到 Safari 时,它会生成一个包含当前可见区域图像数据的 base64 字符串。通过扩展中的 kUTTypePropertyList 标识符获取该字符串。因为它应该是 NSData,所以使用 +imageWithData 从那里生成 UIImage。这就是您要找的,无需再次加载页面,如果网页需要登录,则可以防止第二次加载和错误图像。

关于ios - 来自共享扩展的 Safari 截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25552846/

相关文章:

ios - MPMoviePlayerController 和自定义控件 iOS8

ios - iOS8 中状态栏的黑色

objective-c - 用ios5加密的CCCrypt无法用ios6解密

ios - Swift:使用 firebase SDK 时使用未解析的标识符 'FDataSnapShot'

ios - xcode 本地化仅为主 Storyboard创建文件

javascript - 如何以编程方式修改 UIWebView 中的 JavaScript?

ios - 呈现 View Controller 会触发 UIApplicationDidChangeStatusBarOrientationNotification

ios - 为什么我的 PHFetchResultChangeDetails 已更改索引,而我所做的只是在最后插入?

iOS 10 升级开发人员 list

ios - 创建开发证书 iOS