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?
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.
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.
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.
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.
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:
Click on the project in XCode, then click on Info.
Click 'Build'
Pay attention to what 'Configuration' you are setting. Are you accidentally setting distribution when you are trying to debug?
Set 'Base SDK' to the highest possible.
Change 'Target Device Family' to whatever it is you are doing.
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.
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.
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).
Related
After I send my app for approval to the app store I get the message 'Invalid Binary' in the iTunes Connect. Then I get the following message in an email from Apple:
Invalid Swift Support - The bundle contains an invalid implementation of Swift. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.
My app is just a simple game application. No external programs are called. I have researched this message and went through and checked the following:
xcode is up to date - checked in app store
EMBEDDED_CONTENT_CONTAINS_SWIFT to YES or NO
send with the xcode app, not the application loader
did NOT build with the command line
(Xcode menu -> Preferences -> Locations tab - verified that the Command Line Tools matches Xcode version.
"Clean"ed the app, rebuilt and rearchived and then resent, same message
The app validates through the organizer fine
viewing the contents of the archive shows a SwiftSupport folder
I am only using one developer account and have never logged into any other developer account
I cannot find anything online that would help solve this problem.
I am running OS X Yosemite 10.10.1.
xcode version is 6.1.1 version 6A2008a - built, cleaned and sent with this version
I have also pressed the Option key and "Cleaned Build Folder" and resent, same message
I cannot find any other reason for this online or in any forums. Any help is greatly appreciated. Thank you for your time.
SOLUTION I FIND
Edit:
(1)
One you contact Apple and you wait long time … for reset iTunes connect because this problem coming in Apple . (Apple ask to send log of this problem)
(2)
An other solution, your create an other project application on iTunes connect and upload your work, this solution work fine, is the solution for me .
(3)
An other solution, you create a new project on Xcode, copy and paste your project in this other project.... (create new provisioning profile etc..) And upload your work in the same project application on Itunes Connect.
(4)
Step (2) + step (3), create a new project in Xcode and Itunes Connect.
(5)
Create a new project with the same name bundle identifier, it works perfectly !
See: Technical Q&A QA1881 Embedding Content with Swift in Objective-C.
It seems that you only need to set EMBEDDED_CONTENT_CONTAINS_SWIFT to YES "If you are building an app that does not use Swift but embeds content such as a framework that does".
What language is your app written in? If Swift yo do not need EMBEDDED_CONTENT_CONTAINS_SWIFT.
I ran into this problem the other day. Took some doing, but I finally figured out the problem ( for me at least). Everything I read online said the problem had to do with this setting:
EMBEDDED_CONTENT_CONTAINS_SWIFT
When this started failing, I had this set to NO. So I tried setting it to YES, and it still failed for the same reason. The GUI wouldn't let me remove this setting, I could only change it between YES and NO.
For what it's worth, my code has no EMBEDDED code, it's all just straight up SWIFT.
Anyway, so I decided to uninstall XCode and redownload it, hoping that would help.
While XCode was downloading, I fired up Beyond Compare, and compared my current project, with a backup from last week, to see what could have changed.
Beyond Compare found that a file deep inside the Projectname.xcodeproj file, changed ... a file called project.pbxproj file.
Inside this, was that line:
EMBEDDED_CONTENT_CONTAINS_SWIFT = NO;
This appeared in the current version of my project (that was failing). Interestingly enough, this line didn't exist at ALL in the old backup version from a week ago. I know that I didn't set this flag. There must have been something in Xcode that did it under the covers.
Anyway with that knowledge, Xcode finished downloading, and I reinstalled. Started it up, opened my project, and magically, Xcode REMOVED that line from the .pbxproj file, and now my project uploaded to itunesConnect sucessfully.
BottomLine: There's a bug in xcode that it may decide to add this line to your project for no reason, making your project invalid.
Solution: Editing the pbxproj file yourself and removing that line might work ... but reinstalling XCode seemed to clear up any confusion it had, and it removed it for me.
If you are submitting an app that has an AppleWatch extension, you can get this error if you try and submit the app using the Application Loader utility and a zip file. I got the error:
The bundle contains an invalid implementation of Swift. and
The bundle contains an invalid implementation of WatchKit.
I went through pretty much every solution for the first of the errors - but it was submitting via Xcode that fixed it.
well xcode 6.1 is a bit old and contains old swift. xcode 6.4 is the newest public one IIRC
"Check your code signing. I had this error when in automatic signing. I Put my dev profile for dev and production profile for release version and error is gone."
Link for the Quote
Sometimes this happens inadvertently.
To be safe, all components of your app should be built with the same version of Xcode and the Swift compiler to ensure that they work together.
I think you need to do a pod clean and install. I reckon one of your swift pods was created on a old version of Xcode, you updated Xcode and then tried to do a submission to the app store.
Read the apple swift blog about binary compatibility and frameworks
You will also want to specify that your embedded content contains swift in the build settings:
EMBEDDED_CONTENT_CONTAINS_SWIFT
Enable this setting to indicate that content embedded in a target's product contains Swift code, so that the standard Swift libraries can be included in the product.
I have already waste 3 days "solving" this problem (actually I have tried everything i could imagine but get nothing).
While binary uploading of my application i get the following error:
ERROR ITMS-9000: "this bundle is invalid. armv7s are required to include armv7 architecture." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage).
Oh I got it, what you only need to do is to disconnect your device (remove the cable connection between your device and system).
Now archive it and validate. You are good to go I believe. :)
Follow These steps while uploading binary:
Make you Project ready to go (Create distribution certificate, appstore provisioning profile with this certificate and application id of the application you are willing to upload, down load both and double click to install them)
Check if every thing is right, like right Icon files default files etc, and in build setting of your application you have selected your appstore provisioning profile to create you build.
Now unplug your device (although debug option should still remain selected to ios device) while archiving your build
After archiving is completed, validate your build (with same account you have created provisioning profile with), and then correct if there's some other errors, or upload the build otherwise.
I got this error, because arch (arm7, arm7s, arm64) + Build Active Arch Only - YES.
I did next:
- disconnect iphone
- exclude arm64-arch
- Set Build Active Arch Only - NO.
Build was successfully uploaded.
The problem to me was very lazy! I just lost the Universal Deployment Target (I had iPhone only for error). Fixed that it worked fine.
I tried removing the cable and re/assigning the provisioning profile(s) etc. In the end I just removed arm64 from the list of valid architectures on the project and target files.
How much does arm64 matter anyway?
I created a new Xcode Preference Pane project which I aim to run in the System Preference application.
I have made one modification to the project's build settings:
Changed Base SDK to Mac OS X 10.6 from 10.7 (Since I want to keep compatibility for Snow Leopard).
I have a nib file and NSPreferencePane subclass, yet Xcode doesn't allow me to run the application (only build it, the Run option is disabled).
My environment specs:
Macbook Pro 2010
Mac OS X Lion (10.7)
Xcode 4.2
With Xcode Schemes you can now do this very nicely. Edit the Run action of the scheme like so:
Set the Executable to System Preferences.app
Go to the Arguments tab and pass a launch argument: $USER_LIBRARY_DIR/PreferencePanes/$FULL_PRODUCT_NAME
Now expand the Run/Debug scheme and click on "Pre-actions"
Add a script pre-action with the following body: cp -a "$TARGET_BUILD_DIR/$FULL_PRODUCT_NAME" "$USER_LIBRARY_DIR/PreferencePanes/"
Bingo. Run will now launch System preferences and go directly into your prefpane.
By default, schemes are per-user and thus you are probably excluding them from your repository, and even if not other users won't see them. Go to "Manage Schemes..." and mark the prefPane scheme as shared if you want others to get these settings.
NB: For some reason I seem to get random crashes when you launch the prefPane as an argument. Just turn off the argument and manually launch once - from then on you can use the argument again...
I have an issue with xCode 4.2. I am getting this error when building:
2011-06-18 13:35:49.839 Validation[4110:607] *** Warning: Defaulting to the standard codesign tool
warning: iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033)
Unable to validate your application. - (null)
I had a look at my project settings, and it has :
architectures: Standard (arm7) - ${ARCHS_STANDARD_32_BIT)
Build active architecture only : NO
Not sure what
For some reason the default architecture settings with xCode 4.2 is only for armv7.
Go to Target -> Build Settings -> Architectures -> Release
on value dropdown pick "Other...",
remove $(ARCHS_STANDARD_32_BIT), and add 2 rows
first with "armv6" and second "armv7"
Done
For Xcode 4.5, set the deployment target to at least iOS 4.3 and that will resolve it. Earlier versions of iOS are almost extinct.
Not the optimal solution, but I found that if I changed the Deployment Target to 4.3 (it was 4.0 before) it gets rid of the error.
For XCode 4.5
Had to set "Deployment Target" to 4.3, "Architectures" to armv6 armv7 armv7s as described above, AND "Build Active Architectures Only" to No.
This on a project that worked fine for several month before upgrading to XCode 4.5.
Note: Set the iOS Deployment Target to 4.3 or later in your project if you wish to drop ARM v6 support for your application. An ARM v7 processor is required to run versions of iOS later than 4.2.1.
My previous answer was deleted by the moderator because I didn't comply with their rules. So, answering again.
I faced the same issue and wasted 2 days on it. In my case an upgrade to XCode caused it. I downgraded XCode to the previous version and it got fixed for me. If this is your issue then uninstall new version, reboot and then install old version again. That should do it for you.
I have also added some screenshots and info to my blog about this issue here: http://iostipsntricks.wordpress.com/2011/06/24/solved-application-executable-is-missing-a-required-architecture-at-least-one-of-the-following-architectures-must-be-present-armv6/
Had absolutely the same problem with Xcode Version 4.2. and got also an other error:
There is no codesign:wrapper executable. Please reinstall the Xcode developer tools.
After downgrading the Xcode to an older version it fixed the problem.
Check this post, it is the right one with just adjust a setting in Xcode 4.2, just set "Build Active Architecture only" to NO:
iTunes Connect application is missing required architecture
My Answer may be solve your problem:
I had this problem even after following the accepted answer and found the following to work:
In your Info.plist, add an entry for Required Device Capabilities. This should be an array and will have two entries.
Item 0 : armv6
Item 1 : armv7
It will look like this:
Required device capabilities entry
Had the same problem, tried everything mentioned here - but still got the error on validate -
I tried armv6 and armv7 steps, tried to add that to info.plist and also tried regenerating the distribution certificate just in case.
Turns out the info.plist file must have ${EXECUTABLE_NAME} and ${PRODUCT_NAME} in the respective fields
ALSO the Product name in the Build Settings for that scheme+Target SHOULD match the scheme name
I made sure all the names matched exactly
EXECUTABLE_NAME, PRODUCT_NAME, Product Name in Target, binary name in build settings and info plist, and the deployable binary name - made sure they matched the Target name itself
Once all the names matched and the architecture matched, it worked. Until then it kept giving me error on validation.
I downloaded Carbide.c++ 1.2 and also downloaded the SDK S60 2nd Edition CW.
I installed the SDK and it is recognized in the Window->Preferences->Carbide C++->SDK preferences.
but when I try to create a new project, the templates related to the SDK aren't displayed.
and the editor seems not to detect the SDK.
has anyone ever experienced this ?
how do you solve it ?
Attilah, these are quite old versions of both the SDK and Carbide. But if you need to develop an app for an S60 2nd edition device this makes sense. I don't have either of this installed currently, so it's hard to diagnose exactly.
You said the SDK is recognized. In the SDK preferences, if the checkbox next to the SDK is turned off then the SDK is disabled. Make sure it's enabled.
One thing you could try is to turn of the "Filter templates based on enabled SDKs" checkbox in the new Symbian OS C++ project wizard.
Also, you could try importing one of the example apps from the SDK to confirm you can import and build the project OK.
If you decide to do any work with 3rd or 5th edition phones then you can get the latest Carbide from http://developer.symbian.org/main/tools_and_kits/downloads/view.php?id=2