错误 ITMS-90685:“CFBundleIdentifier 冲突.有不止一包" [英] ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle"
问题描述
当我尝试将我的应用提交到应用商店时,出现错误:
When I am try to submit my app to app store, I am getting the error:
错误 ITMS-90685:CFBundleIdentifier 冲突.有超过一个带有 CFBundleIdentifier 值的包com.companyname.projectName 应用程序 ProjectName.app"
ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value com.companyname.projectName under the application ProjectName.app"
有人可以帮我吗?
推荐答案
原因
如果您的 HostApp 嵌入了一个框架,该框架也嵌入了一些也嵌入 HostApp 的框架中,则会发生这种情况.例如,
Cause
It happens if your HostApp embeds a framework which has been also embedded in some of the frameworks which are also being embedded in HostApp. For example,
- 宿主
H
嵌入框架F1
和框架F2
- 框架
F1
嵌入框架F2
- 因此,框架
F2
将在 IPA 生成后复制到包中
- Host
H
embeds frameworkF1
and frameworkF2
- Framework
F1
embeds frameworkF2
- Thus, Framework
F2
will be duplicated in bundle after IPA generated
解决方案
只有 HostApp 而没有其他框架应该在它们各自的构建阶段嵌入任何依赖框架.所以,
Solution
Only HostApp but no other frameworks should embed any dependent frameworks in their respective Build Phase. So,
- 转到
F1
的构建阶段选项卡 - 从
Embed Frameworks
步骤中删除F2
,或删除完整步骤 - 转到
F1
的常规"选项卡 - 选择框架、库和嵌入内容
- 为
F2
选择Do Not Embed
选项
- Go to Build Phase tab for
F1
- Remove
F2
fromEmbed Frameworks
step, or remove full step - Go to General tab for
F1
- Select Frameworks, Libraries and Embedded Content
- Select
Do Not Embed
option forF2
有一个干净的构建.
这篇关于错误 ITMS-90685:“CFBundleIdentifier 冲突.有不止一包"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!