问题
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"
来源:https://stackoverflow.com/questions/40005130/error-itms-90685-cfbundleidentifier-collision-there-is-more-than-one-bundle