CFBundleVersion must be a period-separated list

I really have a problem loading my build in itunes connect. I always get the following error:

enter image description here

My general project settings are as follows

enter image description here

I also use cocoapods in my project, but have never received this error before, and I have already downloaded several builds. I do not know where such a strange number [1443188838-89] .

Also on the info tab, the package version looks good to me

enter image description here

Like info.plist, what the source code looks like

enter image description here

Any help is greatly appreciated.

+7
ios xcode swift itunesconnect
source share
4 answers

Well, therefore, having spent a lot of time on this problem, I was finally able to solve it.

Check all your Info.plist files if they have the wrong CFBundleVersion number. Go through all your Cocoapods and static frameworks and their packages (right click - show package contents). In my case, it was the wrong CFBundleVersion key in the infrastructure and Netverify package (Jumio). (same as shown in the error message).

I just changed it to a valid key, for example 1.0.0, and now it works!

+3
source share

You are right, the problem is that these are not numeric versions of CocoaPods, but I do not recommend fixing them manually. This Podfile script does the job:

 # fix for non numeric CocoaPods versions # https://github.com/CocoaPods/CocoaPods/issues/4421#issuecomment-151804311 post_install do |installer| plist_buddy = "/usr/libexec/PlistBuddy" installer.pods_project.targets.each do |target| plist = "Pods/Target Support Files/#{target}/Info.plist" original_version = `#{plist_buddy} -c "Print CFBundleShortVersionString" "#{plist}"`.strip changed_version = original_version[/(\d+\.){1,2}(\d+)?/] unless original_version == changed_version puts "Fix version of Pod #{target}: #{original_version} => #{changed_version}" `#{plist_buddy} -c "Set CFBundleShortVersionString #{changed_version}" "Pods/Target Support Files/#{target}/Info.plist"` end end end 

Sample output for ReactiveCocoa 4:

 Installing ReactiveCocoa (4.0.4-alpha-1) (...) Fix version of Pod ReactiveCocoa: 4.0.4-alpha-1 => 4.0.4 
+3
source share

I also ran into this problem, even with assemblies that were already downloaded and released for internal testing in TestFlight. This did not allow me to release external testers for the same reason as the version line, there should be three digits separated by dots.

I used Cocoapods frameworks with Swift and searched my project and found that RxSwift Info.plist has a version string set to "2.0.0-alpha". Fortunately, I did not use it, so I was able to remove the package and successfully send without problems. You must be able to modify the version string for the intruder so that your transfer passes (although this is obviously not ideal).

I don’t know if this is a bug in Apple services or a new policy, but it is painful anyway.

0
source share

The solution for me was updating the pod SVWebViewController in the subpixel:

from

 pod SVWebViewController, :HEAD //Info.plist <key>CFBundleShortVersionString</key> <string>HEAD 1.0</string> 

to

 pod SVWebViewController //Info.plist <key>CFBundleShortVersionString</key> <string>1.0</string> 

This update made changes to the Info.plist file for this particular module. Thanks for the prompt user1463853.

0
source share

All Articles