【发布时间】:2020-12-31 17:33:26
【问题描述】:
这适用于模拟器,但不适用于预览:Adding images or videos to iPhone Simulator
即你不能把东西放到画布上。
有这方面的用户界面吗?例如,我想使用 PHPickers 而无需构建和运行。这行得通,但我只知道如何以这种方式访问默认照片集。
【问题讨论】:
这适用于模拟器,但不适用于预览:Adding images or videos to iPhone Simulator
即你不能把东西放到画布上。
有这方面的用户界面吗?例如,我想使用 PHPickers 而无需构建和运行。这行得通,但我只知道如何以这种方式访问默认照片集。
【问题讨论】:
对于 SwiftUI 预览,似乎还没有一个好的方法来做到这一点。它似乎确实与隐私批准有关。有一个 hack 似乎可行。
您需要一个程序来编辑 SQLite 数据库。我使用免费的DB Browser for SQLite。
第 1 步。 在 iOS 模拟器中运行您的应用并接受所有照片库权限。
第 2 步。在您的 SQL 编辑器中,打开模拟器的隐私数据库:
~/Library/Developer/CoreSimulator/Devices/<SIMULATOR>/data/Library/TCC/TCC.db
第 3 步。从access 表中复制必要的kTCCServicePhotos 行
第 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 照片库管理器的照片应用程序。无法在预览中看到照片真的很痛苦。我找到了你的问题,当我看到它没有答案时,我的心沉了下去。所以我花了一个下午把它弄明白了
【讨论】: