Xcode 13.3 Apple Watch app targets ((null)) CFBundleShortVersionString

Since updating to Xcode 13.3 (13E113), out WatchKit target fails to build in the ValidateEmbeddedBinary step with the error message: “error: The value of CFBundleShortVersionString in your WatchKit app’s Info.plist (X.Y.Z) does not match the value in your companion app’s Info.plist ((null)). These values are required to match.”

All info.plists look perfectly fine! This is only happening since 13.3.

The Release Note of 13.3 mentions this bug as fixed: https://developer.apple.com/documentation/xcode-release-notes/xcode-13_3-release-notes 🤷🏻‍♂️

Any one has come across this?!

Accepted Reply

For anyone coming across this in Xcode 13.3 (13E113): Apparently starting this version one must use the MARKETING_VERSION and CURRENT_PROJECT_VERSION build settings in the companion app target, and avoid using the Info.plist for that purpose. Doing this solved the problem on our side.

Thanks to Apple FB Engineers for swift response.

  • This solution may work for manually changing the marketing version, but it does not work when using the agvtool for updating the marketing version or the project version.

  • Ofcourse it does: Avoid using version strings in the info.plist "physically" and use generated info.plist right from Xcode itself. Working like a charm on an Xcode project with multiple targets and marketing_version + avg tool

Add a Comment

Replies

For anyone coming across this in Xcode 13.3 (13E113): Apparently starting this version one must use the MARKETING_VERSION and CURRENT_PROJECT_VERSION build settings in the companion app target, and avoid using the Info.plist for that purpose. Doing this solved the problem on our side.

Thanks to Apple FB Engineers for swift response.

  • This solution may work for manually changing the marketing version, but it does not work when using the agvtool for updating the marketing version or the project version.

  • Ofcourse it does: Avoid using version strings in the info.plist "physically" and use generated info.plist right from Xcode itself. Working like a charm on an Xcode project with multiple targets and marketing_version + avg tool

Add a Comment