Validation failed (409) This bundle is invalid. The value for key CFBundleShortVersionString ‘6.4.10.25465’ in the Info.plist file at ‘Payload/PomeloCare.app/Frameworks/MobileRTC.framework’ must be a period-separated list of at most three non-negative integers.
This is blocking submission of our app. If this is fixed in a new version of the SDK, can you release it to npm?
You’re hitting this because Apple only allows up to 3 digits in CFBundleShortVersionString. Zoom pushed 6.4.10.25465, which fails validation. The workaround is to manually edit the framework’s Info.plist and change it to 6.4.10 before submitting, or wait for Zoom’s next SDK patch that fixes this.
For posterity - if any Expo users are out there that encounter this, I added an EAS post-install script:
#!/bin/bash
# eas-hooks/post-install.sh
echo "Fixing Zoom SDK CFBundleShortVersionString for App Store compliance..."
# Function to update plist version value to fix invalid verson string.
update_plist() {
local plist_path="$1"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion 6.4.10" "$plist_path"
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString 6.4.10" "$plist_path"
echo "Updated: $plist_path"
}
if [[ "$EAS_BUILD_PLATFORM" == "android" ]]; then
echo "Zoom SDK version fix not needed for Android builds"
elif [[ "$EAS_BUILD_PLATFORM" == "ios" ]]; then
echo "Searching for any MobileRTC.framework locations..."
find . -name "Info.plist" -path "*/MobileRTC.framework/*" 2>/dev/null | while read plist; do
echo "Found: $plist"
update_plist "$plist"
done
fi
echo "Zoom SDK version fix completed."
Which you can hook up by adding the following to your package.json:
Definitely an insane hack! Would love it if the Zoom team could publish a new NPM version for this SDK. We found that we had to upgrade from 6.2.10 because it was not working on React Native’s new architecture.