gpt4 book ai didi

Xcode 9 不再将 xcassets 复制到 bundle 目标中

转载 作者:行者123 更新时间:2023-12-05 02:18:00 25 4
gpt4 key购买 nike

我更新到 Xcode 9,现在当我构建我的包目标时,它不再包含 xcasset 图像资源。

设置:

  1. xcasset 与目标关联 Xcode 9 showing association with target

  2. xcasset 包含在包目标构建阶段的“复制包资源”中。

Xcode 9 showing copy bundle resources

结果

bundle 产品中不存在 xcassets 中的图像。 Terminal showing result of build

在装有 Xcode 8 的另一台机器上,我可以构建相同的包目标,并且存在 TestCatalog 中的图像。

注意:TestImage.png(存在于任何 xcassets 之外)按预期包含在 Xcode 9 中。这让我认为问题与 xcassets 的包含方式有关。

感谢您的帮助。

最佳答案

一切正常! Assets.car 实际上是您的 Assets 目录,您的图像就在其中。

如果 Xcode 之前将图像从 Assets 目录中拉出并将它们放在框架的顶层,那是错误的行为! Assets 目录图像应该被编译成 Assets 目录的编译版本(.car 文件)。而这正是现在正在发生的事情。并且没有理由不在编译过程中重命名 Assets 目录(因为无论如何都无法在代码中通过名称直接引用 Assets 目录)。

您可以通过阅读编译期间生成的报告来确认这就是发生的事情。但是,您不会在屏幕截图中包含它。我会给你看。这是我的项目,与您的类似:

enter image description here

这是报告的相关部分:

enter image description here

如您所见,在最后几行中,MyFrameworkAssets.xcassets 已被编译到名为 /MyCoolFramework.framework/Assets.car 的 Assets 目录中,与你的项目。

所以我认为问题仅仅是你试图“从外面”看这个(即使用终端)。真正知道这是否有效的方法是让你的框架代码引用一个图像并显示它,而且你似乎没有这样的代码。您也可以下载AssetCatalogTinkerer并查看 assets.car 文件。你会看到你的图像在那里!

关于Xcode 9 不再将 xcassets 复制到 bundle 目标中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46429157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com