iOS之解决上传IPA时报错(Invalid Bundle. xx.framework contains disallowed file ‘Frameworks’ or disallowed nested bundles)的问题

起因:

由于Xcode的一些原因(缓存等)导致MOJiAccount项目编译失败,所以我重新在MOJiAccount框架中添加MOJiBase.xcframework依赖框架,然后才编译运行成功。但是在Embed这一块中,发现如下图所示的情况:

添加框架时,会默认Embed & Sign

正是因为这个原因,使得主项目在使用新的MOJiAccount.xcframework,并Archive后,会出现如下图所示的情况:

MOJiAccount框架在打包后出现子框架

然后在此基础上,上传IPA时,报错误如下图所示:

解决方案:

在Embed项中,把MOJiBase.xcframework切换成Do not Embed即可,如图所示:

同时,项目在Archive后,MOJiAccount框架不再显示子框架,如图所示:

最后,上传IPA成功。


总结:

1.MOJi框架如果引用其他MOJi框架(在主项目中已经使用的框架并且Embed & Sign)时,不需要再Embed & Sign,因为不支持框架嵌套,也不支持框架重复Embed & Sign。


2.每次打包框架后,都需要检查Embed属性是否为Do not Embed