Xcode 的 Target membership 中单元项无法选中 - iOS

调试项目过程中采用了资源文件通过工程中的 Assets.xcassets 方式进行管理,App 的 icon 图标资源已经导入其中但打包后发现依旧未生效;
通过问题排查后发现在 Assets.xcassets 中,右侧栏的 target membership 中程序主单元项未勾选,从而没有享有资源文件的读取权限而且还遇到了无法选中的情况发生;

Xcode 的 Target membership 中单元项无法选中 - iOS

因为项目通过 ReactNative 的方式创建而成,对 Xcode 中的此处之前从未做过任何操作,开始怀疑是 ReactNative 中的配置出了问题,可几经排查均未发现问题,此后尝试新建了一个空的 ReactNative 工程比对此处是正常可以选中和取消,即回归原工程项目中继续排查问题,查询了过往的 Git 提交版本也未发现什么问题,随即开始了地毯式摸索阶段 。。。

 

 

解决办法

几经摸索后发现一个很不起眼的设置缺失,添加该配置后即可在 target membership 中进行选中操作。。。fuck!

首先,切到 Project 下的 Build Phases 中,查看是否有 Copy Bundle Resources 的子栏目;
若有 Copy Bundle Resources 子栏目,则可直接跳到下一步操作;
若无 Copy Bundle Resources 子栏目,则添加该栏目;

Xcode 的 Target membership 中单元项无法选中 - iOS

Xcode 的 Target membership 中单元项无法选中 - iOS

其次,在 Copy Bundle Resources 栏目中添加 Assets.xcassets 资源的读取权限;

Xcode 的 Target membership 中单元项无法选中 - iOS

Xcode 的 Target membership 中单元项无法选中 - iOS

Xcode 的 Target membership 中单元项无法选中 - iOS

最后,切回到 Assets.xcassets 栏目中,勾选对应子单元项的读取权限即可。

Xcode 的 Target membership 中单元项无法选中 - iOS


以上便是此次分享的全部内容,希望能对大家有所帮助!