ITMS-90081 with Xcode 10 (10A254a)

` Hi,


I tried to submit with xcode and suddenly I got ITMS-90081 error saying that


ERROR: ERROR ITMS-90081: "This bundle is invalid. Applications built for more than one architecture require an iOS Deployment Target of 3.0 or later."


I have already set `ONLY_ACTIVE_ARCH` to NO.


I was wondering if this is something to do with the Watch's new arch `arm64_32`?


Regards,

Rendy Pranata

Accepted Reply

Just wanted to add that I was running into this same issue today. It's really misleading because it says iOS 3.0, but I was able to fix this by adjusting my watchOS target. While my main watchOS target was 4.0, some of my Cocoapods were set for watchOS 2.0, and updating those all to 4.0 as well solved this for me. Hopefully this will help someone else running into this problem.

Replies

Same here. Can`t solve it. Getting this problem during the upload to ITC after a successful build. A collegue of mine can upload the exact same app but gets than an email with the following help:


Invalid Binary Architecture - iOS 3.0 introduced support for multiple binary architectures. If your binary is built for multiple architectures, your Info.plist must have a

MinimumOSVersion
key with a value of at least 3.0. Additionally, if your app is intended to support earlier iPhone and iPod touch models, your app must contain at least an
armv6
binary; "thin"
armv7
-only binaries will not be accepted unless the
armv7
required device capability is also present in the Info.plist
UIRequiredDeviceCapabilities
key or the MinimumOSVersion key has a value of 4.3 or higher.


- our deployment targets are iOS 11 and watchOS 4

- the Build Setting "Valid Architectures" for iOS is "arm64"

- the Build Setting "Valid Architectures" for watchOS is "arm64_32 armv7k"


In the iOS info.plist we have in the "Required device capabilities" with "arm64"


Everything seems to be correct. Cleaning & restarting does not help 😟


Regards,

Sebastian

Same goes here!

Same problem here. 😟

I've filed a radar: http://openradar.appspot.com/44421729

Please dupe or file your own to raise the awareness!

I had the same issue too. For me it was solved by updating my watchos deployment targets to at least 3.0 for the watch app itself, the watchapp extensions, and any of the dependency frameworks (if you use carthage, cocoapods etc. you might have to do this manually as most dependencies seem to be 2.0, for carthage you can do this by opening the projects in the checkouts folder, change the target, then run carthage build again - not sure about cocoapods)


I wonder if this is due to the new architecture for Apple Watch 4 that XCode builds now, and whether App Store Connect is confusing watchOS 3 with iOS 3?

Doesn't help in my case. My watch app already has a deployment target of watchOS 4.0.

I'm going to try this right now!

Same here. watchOS 4 with Siri Intents and an extension App. Stil this 90081 issue.

Just wanted to add that I was running into this same issue today. It's really misleading because it says iOS 3.0, but I was able to fix this by adjusting my watchOS target. While my main watchOS target was 4.0, some of my Cocoapods were set for watchOS 2.0, and updating those all to 4.0 as well solved this for me. Hopefully this will help someone else running into this problem.

This solved my problem, thanks. For whatever reason, the watchOS deployment target I've specified in the `Podfile` isn't reflected in the deployment target of the pods. I'd say this a Cocoapods bug.

You made my day! That solved the issue! Thanks man!

problem solved! turned out we had a couple cocoapods deps that were set to 2.0. Upped those to 3.0 and binary wasn't rejected.

Absolute legend!

Legend. Altho we are not using CocoaPods for our watch app; we have our own internal frameworks/dependencies that have its target set to 2.0 still. Updating this to 4.0 (or 3.0) is confirmed to have worked.


Thank you!!

I had this issue with my app that supports WatchOS 4.2. Taking your advice and then adding this to my Podfile has solved it:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            if config.build_settings['SDKROOT'] == 'watchos'
              config.build_settings['WATCHOS_DEPLOYMENT_TARGET'] = '4.2'
            end
        end
    end
end


Thank you!!