如何访问适用于 CocoaPods 和 Swift Package Manager 的资产资源?

问题描述

根据我目前的经验以及我在 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 (将#修改为@)