繁体   English   中英

从 Storyboard 访问 Swift Package 中的资产目录

[英]Access Asset Catalog in Swift Package from Storyboard

With the new Swift 5.3 package manager, it's possible for a Swift package to vend out images from an Asset catalog. 假设我有一个名为“ImageLibrary”的 package,其中包含我希望在许多项目之间共享的图像资产。

现在我有了我的主应用程序项目,我导入了 Swift package。 在我的 storyboard 中,XCode 让我 select 图像来自我的库“ImageLibrary”中的资产目录。 但是,在运行时无法找到图像,因为它们存在于与 storyboard 不同的包中。

我能找到的唯一解决方案是将图像资源库从“ImageLibrary”Swift package 拖到我的“复制捆绑资源”列表中。 这确实有效。 图像最终出现在应用程序的包中,并在运行时出现。

问题是,如果我的 Swift package 被远程存储库链接引用,XCode 将检查代码并在派生数据文件夹中进行深入编译。 “复制捆绑资源”链接将指向该文件夹。 现在 XCode 项目文件有一个链接,其中包含特定于我的硬盘的信息。 与一个庞大的团队当然行不通。

我可以使用本地 Swift package 来解决这个问题,但我预计持续集成工具等也会出现类似问题。 我怀疑这只是 Swift 软件包不打算做的事情,而且我不走运。

感谢您的任何想法,西蒙。

您可以采取的一种方法是在 Swift package 中声明使用资产目录中的图形初始化的公共UIImage 然后UIImage将可用于您的主应用程序项目。 这种方法适用于远程 Swift 包以及本地 Swift 包,只要您能够自己编辑 Swift ZEFE90A8E604A7C840E8A 代码以更新它8源代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM