Bundle identifier contains disallowed characters

ApplicationLoader is failing validation with the following error:

ERROR ITMS-90049: "This bundle is invalid. The bundle identifier contains disallowed characters. [See the section of the Application Programming Guide entitled The Application Bundle.]"

The application bundle identifier contains all acceptable characters based on the following description. The bundle identifier, as specified via the key CFBundleIdentifier in the bundle's Info.plist file, must consist only of characters that are uppercase or lowercase Roman letters (A-Z, a-z), the digits 0 through 9, dot ("."), or hyphen ("-").

However, the application pulls in third-party dependencies through Cocoapods, and those dependencies contain Info.plist files that have bundle identifiers set to the following:

$(PRODUCT_BUNDLE_IDENTIFIER)

CORP.$(PRODUCT_NAME:rfc1034identifier)

com.company.${PRODUCT_NAME:rfc1034identifier}


Is there something wrong with those bundle identifiers referencing build settings? The PRODUCT_BUNDLE_IDENTIFIER and PRODUCT_NAME settings also contain all acceptable characters for a bundle identifier.


I'm seeing similar posts [1,2] (slightly different error messages) where the bundle version is missing, but those values are also set in all Info.plist files within this application:

find . -regex '.*Info.plist' | while read file; do { plutil -p $file | grep CFBundleShortVersionString; } || echo Failed $file; done;

"CFBundleShortVersionString" => "2.2.1" <- application

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"

"CFBundleShortVersionString" => "1.0"



find . -regex '.*Info.plist' | while read file; do { plutil -p $file | grep CFBundleVersion; } || echo Failed $file; done;

"CFBundleVersion" => "2.2.1"

"CFBundleVersion" => "1.0"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"

"CFBundleVersion" => "1"


Do I have to update all of the versions to match the application as mentioned in [2]?


[1] https://forums.developer.apple.com/thread/23778

[2] https://forums.developer.apple.com/message/78103#78103

Bundle identifier contains disallowed characters
 
 
Q