views:

396

answers:

3

Hey guys,

I'm trying to submit an app with these details:

Base SDK: iPhone Device 3.2

Architectures: Standard (armv6 armv7)

Target Device Family: iPhone/iPad

iPhone OS Deployment Target: iPhone OS 2.2.1

when I submit to Itunes Connect, I get an invalid binary with this followup:

"Invalid Binary Architecture - iOS 3.0 introduces 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, in order to support existing devices, all iOS 3.0 binaries submitted for distribution through iTunes 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."

So I just add this in the info.plist? But I want to support 2.2.1, why is the lowest acceptable value 3.0?

Thanks.

+2  A: 

Apple no longer accepts any apps below 3.0 for target deployment.

All new applications and updates to existing applications submitted to the App Store must be built with iPhone SDK 4. iTunes Connect will no longer accept app submissions targeting iOS 2.x. These changes do not affect existing apps on the App Store.

iWasRobbed
So I should change the Base SDK to 4.0, the target deployment to 3.0? Do I need to even have a minimumosversion in my plist, because that seems like a redundancy?
Correct. And no, you don't need that key to submit an app or update. Also, if you were targeting iOS2.x before, make sure you aren't getting an deprecated warnings before you submit.
iWasRobbed
Cool! Thanks for the help! I'll check with my superiors, do the changes, and try it again. I'm gonna change it to 3.0, since it is a universal app. I have a lot of deprecated warnings even with deployment at 3.0, but there doesn't seem to be any problems.
+1  A: 

Did you read the message you pasted?

You're trying to submit a universal (iPad/iPhone) binary. Support for universal binaries was added in iOS 3.0. Which means the binary will only function on devices with 3.0 or later. Therefore, submitting a universal binary with a minimum deployment target of 2.2.1 does not make sense, as 2.2.1 users won't be able to run it.

Shaggy Frog
Sorry, this is my first time building and submitting an app, first time programming for the iphone, too. I didn't really understand what they put. Cool, didn't know that.
FYI, the percentage of users still running 2.2.1 is likely exceedingly small at this point. They are not worth worrying about. http://www.appleinsider.com/articles/10/07/22/chitika_ios_4_already_powering_50_of_iphone_traffic.html
Shaggy Frog
Thanks for the link, Shaggy Frog! Yeah I feel bad for clogging stack overflow with these stupid questions but I am really new to iphone development.
A: 

I had this error earlier. I originally was trying to target 2.2 but then after it failed to get uploaded I switched to 3.0 as the target. Did a new build but the App got rejected again with the same error! Anyway I did a Clean (Build->Clean), submitted it again and this time it was passed.

Steve