ERROR ITMS-90685: “CFBundleIdentifier Collision. There is more than one bundle”

匿名 (未验证) 提交于 2019-12-03 03:06:01

问题:

When I am try to submit my app to app store, I am getting the error:

ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value com.companyname.projectName under the application ProjectName.app"

Can any one help me?

回答1:

Have you got an App Extension in your app? I had this error because of Cocoapods embedded frameworks inside App Extension folder.

You need to remove build phase '[CP] Embed Pods Frameworks' from Extension target.

I wrote such ruby script for that:

# remove.rb require 'xcodeproj'  project_path = "Keyboard.xcodeproj" project = Xcodeproj::Project.open(project_path) project.targets.each do |target|     puts target.name     if target.name.include?("Extension")         phase = target.shell_script_build_phases.find { |bp| bp.name == '[CP] Embed Pods Frameworks' }         if !phase.nil?             puts "Deleting Embed Pods Frameworks phase from #{target.name}…"             target.build_phases.delete(phase)         end     end end  project.save 

In CocoaPods 1.1.0 that should be fixed: https://github.com/CocoaPods/CocoaPods/issues/4203



回答2:

Steps without script:

  • Open the (Your App).xcodeproj file (this is the first file on the project navigator pane).
  • Switch to the target for your app extension (on the top left of the middle pane).
  • Go to the Build Phases tab
  • Click the X after "Embed Pod Frameworks"


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!