为什么Cocoapods吃应用程序图标
大型应用程序需要团队合作,因此将其分为不同的组件。 在这种情况下,每个团队都将其中一个作为单个回购协议,并使用Cocoapods将它们链接并绑定在一起。
一切正常,直到我们点击主页按钮并发现我们的应用程序图标丢失。
让我们退后一步,看看我们如何处理每个组件的图像资产。 通常,我们将图像文件放在.xcassets
文件夹中,以避免与其他模块中的图像重复或名称冲突。 .xcassets
那些图像将添加到捆绑中,如下所示:
这样,可以正确加载每个图像,并且我们的UI看起来不错。 那为什么我们会错过App图标呢?
原因是在“ 复制捆绑资源”构建步骤中,Xcode对.xcassets
使用--app-icon
参数,这意味着我们在此步骤中具有应用程序图标。 下一步“ [CP] Copy Pods Resources ”时,缺少此参数,因此将删除应用程序图标。 此配置将覆盖最终的Assets.car
并导致应用图标丢失。 解决该问题的方法是在Pods-your_project_name-resources.sh中添加--app-icon
参数,以确保它可以在“ [CP]复制Pods资源 ”步骤中工作。 积分属于Tima Khomutnikov。
另一种解决方案是将所有图像文件而不是.xcassets
目录放入捆绑包。 它肯定会工作,但不是上一个的最佳选择。
有关更多详细信息,您可以在此处参考Cocoapods问题。