如何添加到SwiftUI预览“设备”的照片库中?

时间:2020-09-14 00:30:24

标签: xcode swiftui

这适用于模拟器,但不适用于预览:Adding images or videos to iPhone Simulator

即您不能将东西放到画布上。

是否有用于此的UI?我想,例如,无需构建和运行即可使用PHPickers。可以,但是我只知道如何以这种方式访问​​默认的照片集。

1 个答案:

答案 0 :(得分:1)

对于SwiftUI预览,似乎还没有一个好的方法。它似乎与隐私批准有关。似乎有些破解是可行的。

您将需要一个程序来编辑SQLite数据库。我使用免费的DB Browser for SQLite

第1步。在iOS模拟器中运行您的应用并接受所有照片库权限。

第2步。在您的SQL编辑器中,打开模拟器的隐私数据库:

~/Library/Developer/CoreSimulator/Devices/<SIMULATOR>/data/Library/TCC/TCC.db

第3步。kTCCServicePhotos表中复制必要的access

步骤4 。将该行插入到SwiftUI预览的隐私数据库中:

~/Library/Developer/Xcode/UserData/Previews/Simulator Devices/<SIMULATOR>/data/Library/TCC/TCC.db

您现在已经批准了SwiftUI预览的照片隐私。您应该会看到默认的模拟器照片现在出现在预览中。

如果要将自己的照片添加到混合中,则可以将其拖到iOS模拟器上。然后将.../<SIMULATOR>/data/Media/DCIM/100Apple.../<SIMULATOR>/data/Media/PhotoData文件夹的内容复制到相应的SwiftUI预览模拟器。

我正在使用自定义SwiftUI照片库管理器开发照片应用程序。无法在预览中查看照片真是太痛苦了。当我发现您的问题没有得到答复时,我就下沉了。所以我花了一个下午把它弄清楚