我想知道如何使用共享/操作扩展程序截取iOS主机应用程序的屏幕截图。
我的用例如下:
此用例的工作示例是Awesome Screenshot iOS app。
我曾尝试过以下方法
我认为一种可行的方法是在ExtensionPreprocessingJS中使用html2canvas,但如何以某种方式保存此图像?
答案 0 :(得分:1)
编辑:所以下面的工作在模拟器中,但不在设备上工作。我现在也在寻找解决方案。
这是我认为Awesome Screenshot应用程序使用的解决方案:
func captureScreen() -> UIImage
{
// Get the "screenshot" view.
let view = UIScreen.mainScreen().snapshotViewAfterScreenUpdates(false)
// Add the screenshot view as a subview of the ShareViewController's view.
self.view.addSubview(view);
// Now screenshot *this* view.
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, 0);
self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Finally, remove the subview.
view.removeFromSuperview()
return image
}