ios – 来自Share Extension的Safari屏幕截图

是否可以通过共享扩展程序在Safari中执行webview当前可见区域的屏幕截图?我可以使用 Windows,但扩展不支持UIApplication,所以我无法访问该窗口.

解决方法

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...