Archive fails: GoogleMobileAds.framework does not support the minimum OS Version specified in the Info.plist
aoverholtzer opened this issue ยท 40 comments
Description
Archiving our app using Xcode 15.3 RC via Xcode Cloud fails the validation stage on App Store Connect due to problems with the framework's Info.plist file. App is targeting iOS and has a deployment target of iOS 15.
The same issue has been reported in two related projects: GoogleAppMeasurement (google/GoogleAppMeasurement#62) and Firebase (firebase/firebase-ios-sdk#12441).
Reproducing the issue
Archive an app that uses the GoogleMobileAds using Xcode 15.3 RC. Submit it to App Store Connect.
GoogleMobileAds SDK Version
11.0.1
Xcode Version
15.3 RC
Installation Method
Swift Package Manager
Targeted Platforms
iOS
Relevant Log Output
Invalid Bundle. The bundle MyApp.app/Frameworks/GoogleMobileAds.framework does not support the minimum OS Version specified in the Info.plist.
Invalid Bundle. The bundle MyApp.app/Frameworks/UserMessagingPlatform.framework does not support the minimum OS Version specified in the Info.plist.
Workaround
Archiving with Xcode 15.2 works fine. You can set the Xcode version for Xcode Cloud builds within App Store Connect -> Xcode Cloud -> Manage Workflows -> Workflow -> Xcode version. The default value is "Latest Release".
Hey @aoverholtzer, thanks for flagging. This is something we are aware of and will be addressed in the next release. In the meantime, continue using Xcode 15.2.
To update my previous response, it is determined that the .plist error is something that Apple has to resolve. They are aware of this error but we do not know when they will address it.
For now SPM can't use Xcode 15.3, continue using Xcode 15.2 or earlier.
@malandr2 this issue was fixed on the other Google SDKS, e.g. Firebase firebase/firebase-ios-sdk#12439 why is it different for this SDK?
I'm having the same issue and it's blocking my development. Any news about this being fixed soon?
same issue
cannot compile now
To update my previous response, it is determined that the .plist error is something that Apple has to resolve. They are aware of this error but we do not know when they will address it.
For now SPM can't use Xcode 15.3, continue using Xcode 15.2 or earlier.
@malandr2 Do you have a link to the Apple support case where they are tracking resolution? Thanks.
To mention that Xcode 15.3 is no-longer RC and is general release where this issue is occurring.
https://github.com/firebase/firebase-ios-sdk/pull/12439/files#diff-f4eb4ff5ec89af999cbe8fa3ffe5647d7853ffbc9c1515b337ca043c684b6bb4R679 updated the minimumOSVersion
to 100
which is a workaround for the time being for Xcode 15.3 to be useable with SPM. To truly solve the issue Apple will have to fix.
And @jamiehunt Apple feedback tickets are internal to them so they cannot be shared.
@malandr2, a workaround sounds good until Apple can solve the issue properly. Not supporting the latest Xcode/Swift is a big issue. E.g. whats the plan if Apple don't fix this before iOS 18, will Google Ads not support iOS 18?
We expect to have a new Google Mobile Ads version next week that support Xcode 15.3 using the workaround.
Edit: Apple will still need to fix this issue and it's possible their fix may affect the workaround. After it's been resolved we will revert the workaround in a future release.
@aoverholtzer
I was facing the same problem. I just transferred the swift-package-manager to Pods. The issue is solved for me so you can do so.
No fix here yet? Sad. Firebase had this fixed so fast.
Clean Build Update dependency - Firebase - 10.22.1 Then try. If not works. Delete DerivedData, restart Mac and try. It will work. I have updated 3 apps yesterday with same method so please try.
โฆ
On 09-Mar-2024, at 7:47โฏAM, Chris White @.***> wrote: Firebase
firebase is working fine, its google mobile ads and google user messaging platform that are not working. All the firebase dependencies are working since the fix yesterday
We expect to have a new Google Mobile Ads version next week that support Xcode 15.3 using the workaround.
Edit: Apple will still need to fix this issue and it's possible their fix may affect the workaround. After it's been resolved we will revert the workaround in a future release.
Hope it releases soon! Thanks
I am facing same issue in Xcode 15.3.
https://github.com/firebase/firebase-ios-sdk/pull/12439/files#diff-f4eb4ff5ec89af999cbe8fa3ffe5647d7853ffbc9c1515b337ca043c684b6bb4R679 updated the
minimumOSVersion
to100
which is a workaround for the time being for Xcode 15.3 to be useable with SPM. To truly solve the issue Apple will have to fix.
Sorry, is there a way to apply this workaround so I don't have to downgrade Xcode? Which file do I have to edit?
Thanks in advance
While the issue appears to have been resolved for most SDKs in Firebase, GoogleMobileAds and UserMessagingPlatform still throw an Invalid Bundle error ๐ฅฒ
I have used older Xcode (15.2) and able to upload the app. You can get older version here: https://developer.apple.com/download/all/
Please fix the problem. I don't want to downgrade to XCode 15.2 for no reason. This makes no sense.
I am using the main branch to get the most updated version as soon as possible. Nothing has changed since 3 days. Either Apple or you should fix this quickly. We cannot send an update.
I would not really be "for no reason" would it?
They are fixing it this week. I was at first a bit hesitant too. But I ended up just downloading Xcode 15.2 from the developer page. It's one file. Doesn't need installation. You just unzip it and run it.
Just make sure to go to Settings and select the old Xcode Command Line 15.2 as well.
It's very easy. In other words you don't need to delete XCode 15.3, you just download the old one and use it in parallel. When the patch is here, you just delete the old Xcode (one file) and done.
I hope this helps,
They are fixing it this week. I was at first a bit hesitant too. But I ended up just downloading Xcode 15.2 from the developer page. It's one file. Doesn't need installation. You just unzip it and run it.
Just make sure to go to Settings and select the old Xcode Command Line 15.2 as well.
It's very easy. In other words you don't need to delete XCode 15.3, you just download the old one and use it in parallel. When the patch is here, you just delete the old Xcode (one file) and done.
I hope this helps,
Hi, I downloaded the version 15.2 and I am able to upload and test my iOS app on the device simulator, but I am not able to archive and upload it to app store connect because it shows the error "Asset validation Failed". Any workaround for this?
Are you sure you haven't mistakenly opened the latest Xcode? This happens to me every time. Make sure you have opened the Xcode in your Downloads folder.
Then fetch the latest packages via SPM. Clear the Derived Data and try again. It has to work. The error is on your side.
We are still on track to release a new version of the Google Mobile Ads SDK (and UMP SDK) that supports Xcode 15.3 later this week.
Here's a workaround that will work more consistently for the time being, if like me you need to release asap.
This also is necessary for Xcode cloud
- Use XCodes.app to install 15.2 & the correct simulators
- Using XCodes.app, make 15.2 the active install (checkmark)
- Delete the Package.resolved file in your build folder (The Package.resolved file is inside your .xcodeproj directory at [appName].xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved)
- Open XCode & clear out the build folder, then select file > reset package caches
Once that finishes, you can now push to XCCloud or make an archive. The important step here for Xcode cloud is that your package.resolved file is made from 15.2
Here's a workaround that will work more consistently for the time being, if like me you need to release asap. This also is necessary for Xcode cloud
- Use XCodes.app to install 15.2 & the correct simulators
- Using XCodes.app, make 15.2 the active install (checkmark)
- Delete the Package.resolved file in your build folder (The Package.resolved file is inside your .xcodeproj directory at [appName].xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved)
- Open XCode & clear out the build folder, then select file > reset package caches
Once that finishes, you can now push to XCCloud or make an archive. The important step here for Xcode cloud is that your package.resolved file is made from 15.2
More consistently than what? Its the exact same as the other workaround...
We are still on track to release a new version of the Google Mobile Ads SDK (and UMP SDK) that supports Xcode 15.3 later this week.
Also update the framework UserMessagingPlatform.framework
pls!
Asset validation failed
Invalid Bundle. The bundle xxxmeworks/UserMessagingPlatform.framework does not support the minimum OS Version specified in the Info.plist.
Here's a workaround that will work more consistently for the time being, if like me you need to release asap. This also is necessary for Xcode cloud
- Use XCodes.app to install 15.2 & the correct simulators
- Using XCodes.app, make 15.2 the active install (checkmark)
- Delete the Package.resolved file in your build folder (The Package.resolved file is inside your .xcodeproj directory at [appName].xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved)
- Open XCode & clear out the build folder, then select file > reset package caches
Once that finishes, you can now push to XCCloud or make an archive. The important step here for Xcode cloud is that your package.resolved file is made from 15.2
More consistently than what? Its the exact same as the other workaround...
Taking this in good faith - Carefully note the differences in steps. If you don't remove the package.resolved file before you rebuild it with 15.2 XcCloud won't accept the binary, and using XCodes.app allows you to switch releases back and forth much easier. Hope this helps
The issue happens at the step of uploading the build to TestFlight. Switching to Xcode 15.2
with changing Command Line Tools
version didn't help me.
The issue happens at the step of uploading the build to TestFlight. Switching to
Xcode 15.2
with changingCommand Line Tools
version didn't help me.
For me it's showing also when trying to install to a real device, awaiting the fix.
The issue happens at the step of uploading the build to TestFlight. Switching to
Xcode 15.2
with changingCommand Line Tools
version didn't help me.
Remember to delete package.resolved after making the switch..
We have just released SPM version 11.2.0 which should address the 15.3 Xcode issue. Please report back the issue still persists. Thanks!
@malandr2 looks good from my end. Using Xcode 15.3 (latest), updated Swift PM packages to bring in GoogleMobileAds-11.2.0, can produce an archive of my project & upload thru App Store connect successfully.
Thanks for getting us the workaround in place & hopefully Apple gets root-cause addressed shortly.
For those who didn't know how to update the package (like me):
- Right click on both of the packages (GoogleMobileAds & GoogleUserMessagingPlatform) -> Update Package for both
To add to what @jamiehunt said, it works for TestFlight too. Thanks for fixing this issue so promptly @malandr2 .
@Daggerpov - if you want to update all packages at once File -> Packages -> Update to Latest Package Versions ๐
It was solved with version 11.2.0. Thanks.
GoogleMobileAds 11.2.0
GoogleUserMessagingPlatform 2.3.0
With this combination, you can upload your archive to app store connect.
The build should also pass.
Thank you for the information.