首页 > 解决方案 > 将图像保存到模拟器中的照片应用程序 - 在 iOS 13 中生成屏幕截图

问题描述

编辑

原来的:

如何从 iOS 13 屏幕上的内容创建图像?

在 iOS 12 中,此代码有效:

UIGraphicsBeginImageContextWithOptions(view.frame.size, false, 0.0)
view.drawHierarchy(in: view.frame, afterScreenUpdates: true)
let myImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()

但是在使用 iOS 13 模拟器的 Xcode 11 中,它会生成带有一些文本的像素化图像:

在此处输入图像描述

有谁知道应该改变什么?Xcode 11 似乎运行与 Xcode 10.2 (Swift 5) 相同的 Swift 版本。

标签: iosswiftuigraphicscontextios13

解决方案


此错误似乎已在 iOS 13 Developer Beta 2 / Xcode 11 beta 2 中修复。

  • 以上代码新生成截图
  • 从 Safari 下载的图像可以正确保存和显示
  • 尝试在“设置”中更改应用的照片访问权限仍然会导致“设置”崩溃
  • 尝试共享以前生成的损坏图像仍然会使照片应用程序崩溃

Xcode 11.0 测试版 2 (11M337n)
iOS 13.0 (17A5508l)


推荐阅读