【问题标题】:How do you add to the Photos library of a SwiftUI preview "device"?如何添加到 SwiftUI 预览“设备”的照片库?
【发布时间】:2020-12-31 17:33:26
【问题描述】:

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

即你不能把东西放到画布上。

有这方面的用户界面吗?例如,我想使用 PHPickers 而无需构建和运行。这行得通,但我只知道如何以这种方式访问​​默认照片集。

【问题讨论】:

    标签: xcode swiftui


    【解决方案1】:

    对于 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 模拟器上。然后将.../&lt;SIMULATOR&gt;/data/Media/DCIM/100Apple.../&lt;SIMULATOR&gt;/data/Media/PhotoData文件夹的内容复制到对应的SwiftUI预览模拟器中。

    我正在开发一个带有自定义 SwiftUI 照片库管理器的照片应用程序。无法在预览中看到照片真的很痛苦。我找到了你的问题,当我看到它没有答案时,我的心沉了下去。所以我花了一个下午把它弄明白了

    【讨论】:

      猜你喜欢
      • 2020-03-19
      • 2011-07-07
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      相关资源
      最近更新 更多