views:

3130

answers:

9

i have installed the latest iphone sdk 3.0 beta 5, and trying to submit the first application build from this sdk,but when i upload to itunes connect, it give me the message "The binary you uploaded was invalid. The value provided for the key MinimumOSVersion is not acceptable." and cannot be uploaded. therefore i edit my info.plist file in the project and set this key to 2.2.1,like

 <key>MinimumOSVersion</key>
 <string>2.2.1</string>

and upload again but it still return the same message,have anybody met the same issues and how to get rid of this?

A: 

Right click on your project and go to your build tab. Near the top of the list you can specify your Base SDK. This is the minimum you will compile against. After this your build settings drop down will have the older versions. When you go to make your distribution make sure you aren't using 3.0 cause that will cause your binary to get rejected (as you found out).

Adam
+1  A: 

Please read the notice in the iPhone developer centre. You CANNOT use the iPhone 3.0 SDK to build apps for the App Store at the moment, not even if you compile them for the 2.x OS. You have to compile an app using the 2.x SDK to submit it to the App Store.

You can install both sets of developer tools side by side. When you get to the screen where you select which parts of the package you want to install, you can select an alternative destination for the install.

nduplessis
+1  A: 

I had the same problem. Heres how to fix it!

My project was called SuperTennis, so I clicked the project in xcode, and clicked Get Info. Under the General tab, change "Base SDK for all iPhone configurations" to iPhone OS 2.0, then go into the build tab, and change "Base SDK" to "iPhone OS 2.0", then build it for your device. Reveal the app in finder, and then continue on, to upload it. Email me at ryan2925 at gmail.com if you want some more help. I hope this works for you, and anyone else reading.

A: 

I'm using 3.1 Beta 3 to develop. I get the MinimumOSVersion. Although I assume that you can't develop for 2.2 or 3 (However I did try setting to both 2.1 and 3.0 with same result; OS error) when I change the Base SDK to 3.1 it gives me the same error. Am I stuck with 3.1 beta 3 until actual 3.1 is released? I can't go back to 3.0 can I. After going thru about 3-4 days of provisioning and distribution hell this is incredibly numbing to be shot down just before uploading binary. Anybody know how to get around this OSVersion roadblock?

Digital D
A: 

Even now that 3.1 is out, I am getting this error when Base SDK is set to "iPhone Device 3.1"

cc
+1  A: 

What you need to do is change the Deployment Target setting in your project. The Deployment Target specifies the minimum OS you would like your application to run on. This is regardless of the SDK you build against, which should always be the most recent SDK so you can ensure your application runs correctly on the most recent OS version available. So, in short:

  • Set the Base SDK to be the latest OS available
  • Set the Deployment Target to be the earliest OS you'd like your app to run on.

Manually editing the Info.plist file is really just fooling the App Store into thinking your app can run on an OS it isn't built to run on, which could yield unpredictable results.

fbrereto
+2  A: 

You SHOULD NOT specify MinimumOSVersion in your Info.plist. From the Information Property List Key reference:

MinimumOSVersion (String - iPhone OS, Mac OS X). When you build an iPhone application, Xcode notes the target OS (as determined by the Base SDK selection) as the MinimumOSVersion property. Do not specify this property yourself in the Info.plist file; it is a system-written property. When you publish your application to the App Store, the store indicates the iPhone OS release on which your application can run based on this property. It is equivalent to the LSMinimumSystemVersion property on Mac OS X.

olegueret
A: 

Try this:

ARMV6: before iPhone 3GS ARMV7: including and after iPhone 3GS

"Proj." and "Target(s)" right-click, Get Info. Select:-

Base SDK: iPhone 4.0 (latest s greatest) Standard: ARMV6, ARMV7 Uncheck build for Active Architecture Deployment Target: 4.0 (not older ones 3.1.3; you don't have the SDK if you upgrade to 4.0) Compiler section: Ensure that both ARMV6 and ARMV7 checkboxes are ticked under Generate Code, Thumb section.

The binary output is slightly bigger as it is generic code that supports both architectures.

If you want to support ARMV7 only, don't check ARMV6 in compiler section, selection code optimised for ARMV7, check active architecture only. In info.plist, add armv7 in UIRequiredDeviceCapabilities items. This field already exists in info.plist and probably has other system requirements auto-specified.

Chaitanya Kolluri
+1  A: 

I got this error when I finally upgraded things from 2.2.1 to the 4.0 SDK, and tried to use an existing project.

I had to:

  1. Click on the project in XCode, then click on Info.
  2. Click 'Build'
  3. Pay attention to what 'Configuration' you are setting. Are you accidentally setting distribution when you are trying to debug?
  4. Set 'Base SDK' to the highest possible.
  5. Change 'Target Device Family' to whatever it is you are doing.
  6. Set 'iPhone OS Deployment Target' to your device's OS (you can check by going to Window > Organizer).

My main time sink was setting my distribution settings when trying to debug and not realizing it.

Mike