问题描述
根据我目前的经验以及我在 Apple 的文档 here 中读到的内容,在像这样访问 Swift Package Manager 中的资源时,我们必须始终使用 Bundle.module:
let colorAsset = UIColor(named: "Example",in: Bundle.module,compatibleWith: nil)
但这在创建框架时就不一样了。对于框架,我们应该像这样使用包标识符:
let bundleID = Bundle.init(identifier: "shadow.co.Example")
let colorAsset = UIColor(named: "Example",in: bundleID,compatibleWith: nil)
编译器甚至无法识别 SPM 范围之外的 Bundle.module,所以如果我想创建一个可以使用 CocoaPods 和 SPM 安装的框架(这就是我我正在尝试实现)我无法使用 Bundle.module 因为 Pod 无法识别它并且我无法使用包标识符导致 SPM 无法识别它。
那么我应该在这里做什么?如何在两种情况下访问相同的资源?
在 SPM 中包含资产相对较新,因此我找不到任何资源来向我解释这一点,如果有人能解释如何进行此操作,我将不胜感激:)
与此同时,我会继续研究和尝试不同的东西,所以如果我找到答案,我会在这里发布我的发现。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)