App Store upload. Problem with SDK - iphone

I just tried to upload a completed app via iTunes Connect, and I received the following error:
The binary you uploaded was invalid. Apple is not currently accepting applications built with this version of the SDK.
I upgraded to the 4.0 SDK. I got this same exact error with the PREVIOUS version of the SDK as well. 3.?.? (whatever it was). Now in Xcode, I no longer have the option to select a previous version of the SDK.
Any suggestions?

you must download "Application Loader."

Make sure when you build the .app bundle for distribution, that you are building for "Device" and "Distribution" in the drop down menu of the main XCode screen.
Make sure in the "Project Settings" that you have set the base SDK to 4.0 and your deployment target SDK to 3.0 (or whatever you want it to be).. both settings are found in that "Build" menu. Settings are for the "Distribution" configuration
This will build the app with the latest SDK but allow users of 3.0 (or whatever you chose) to use the app so long as you only included API that was available in 3.0 or below.

Related

Invalid Swift Support when submitting App

A while back I was trying to submit an App using Xcode version 11.1 (11A1027) but I received an email from Apple with the following message:
ITMS-90424: Invalid Swift Support - The SwiftSupport folder is empty. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
From what I know, 11A1027 is already a released version and so I am not very sure why there is a need to use the GM version of Xcode. Does anyone have any idea?
I tried some of the methods suggested in other posts but somehow could not resolve it.
Is this a bug in Xcode?
Solved for me in June 2020.
MacOS Catalina 10.15.5
Xcode Version 11.5 (11E608c)
Check that Command line tools(Xcode->Preferences->Locations) have this value
Configure PROJECT in project settings
Click to you project in Xcode.
Select project name
Set filter to Basic and Levels
Find Always Embed Swift Standard Libraries field (if not found - play with filters)
Set YES to this field for PROJECT(debug and release)
Configure TAGET in target settings
Click to you project in Xcode.
Select target name
Set filter to Basic and Levels
Find Always Embed Swift Standard Libraries field (if not found - play with filters)
Set YES to this field for PROJECT(debug and release) and set NO to this field for TARGET(debug and release)
see example
Clean project and create archive(Product->Archive)
In the dialog window right click to the created archive name -> Show in Finder
Right click to the archive name in Finder -> Show Package Contents
Delete SwiftSupport folder here
After that upload your build using AppStore Connect in Xcode with default settings.
I received this same email after uploading an .ipa file to App Store Connect through the Transporter app. The following is where I went wrong: I distributed the app using ad hoc.
The following steps are the solution for my error:
Archive app
Distribute on TestFlight and the App Store
Export
Open ExportOptions.plist in the newly created folder from the export.
Make sure the method property has the value app-store if you are uploading to App Store Connect/TestFlight like me.
Drag and drop the exported .ipa file to Transporter.
Deliver your app to upload it.
And that's it!
Original answer here: https://stackoverflow.com/a/62568526/10374366
I don’t think it’s a bug. But the best thing you can do is to just reinstall Xcode from the AppStore.
The solution here was in this "Invalid Swift Support - The SwiftSupport folder is missing" with Xcode 7.3.1. We needed to use the new -exportOptionsPlist flag with xcodebuild instead of the older -exportFormat and -exportWithOriginalSigningIdentity flags. The plist just needs to have the method key set to app-store.
Try upgrading to swift 5.0 and going to workspace settings, build system and set it to New Build System. This solved it for me in a React Native project using native iOS views. As far as I know swift 5 makes doesn't use the swift support folder any more.

Error Submitting App to Appstore

We are getting following error when we try to validate our app.
"This bundle is invalid. Apple is not currently accepting applications built with this version of the SDK."
Our Xcode is 4.3 Build 4D1002.
Base SDK 5.0
Can you please let me know the solution?
App-Store doesn't accept apps which are compiled with Beta versions of the SDK
You need to check if you are using beta version of the SDK.
Please check it and let me know if you need more help.
Refer to this link:
bundle is invalid. not accepting applications built with this version of the sdk
Refer to the link here: http://www.redmondpie.com/download-5.1-beta-3-for-iphone-ipad-ipod-touch-ota-devs-only/. It says The first beta release of iOS 5.1 also saw the release of Xcode 4.3 (build 4D1002) to developers.
So I would suggest you to use a fully released version of Xcode (may be Xcode 4.2) and then submit your app using that.
Hope this helps.
Try to install the actual Xcode (with the final-version of iOS 5.1) and set the Base SDK to the latest one. You can reach backward-compatibility with the Deployment Target.
Here's things I've covered;
No memory leaks
Tested performance on an actual device
Doesn't crash :)
Using correct certificates / profile
What I'm a little unsure about are how to configure the "Bundle Display Name" /"Bundle Identifier" and "Bundle Name" in info.plist. I understand the first is the text that's shown on the iPhone itself, but what about the last? Does this have to match Bundle Identifier?
Are there any other things I should add to the info.plist? I've noticed that when built for Adhoc distribution my app does not have any author/title information in iTunes.

XCode 4 - Device does not show up in the schema "destination" dropdown

I can't for the life of me find out how to run applicaitons on a device (specifically, and iPhone 4) using XCode 4.
The documentation says to "Set the run destination to iOS device in the scheme editor and build and run your application."
The dropdown menu in the schema editor only has simulator options.
Could someone present a step-by-step method for running applications on devices using Xcode 4?
Using:
Xcode 4.0.2 (iOS 4.3)
iPhone 4.3.3
UPDATE
I ended up doing a series of restarts (Macbook Pro, iPhone 4, Xcode), did a few cleans and builds of the project, and set the "Base SDK" build attribute for the TARGET to "Latest iOS (iOS 4.3).
After that, the device appeared in the destination drop-down in the scheme editing menu.
(Thank you for your time septi!)
Be sure to Verify the BASE SDK used in your project. From the docs:
"
Note: If you are building to your development device, the Base SDK version number defined on your Xcode project must be greater than or equal to the software version number on your development device; otherwise Xcode cannot initiate a debugging session with the device. In that case, you will need to download and install the latest iOS SDK version that is greater than or equal to your device software version.
"
I had a similar problem. My phone has iOS 4.2.1
I downloaded a sample app and my phone did not show up as an option, only the simulators were listed.
So this is just a configuration issue:
To fix this you need to select the project, and:
(as noted above) Select Build Settings/Base SDK = (in my case) Latest iOS (iOS 4.3)
Select Summary: Devices: iPhone
Select Deployment Target: (in my case) 4.2
Now I get the following in the dropdown list of targets:
Myiphone (4.2.1, overriding Base SDK to 4.3)
Also watch out for the UIRequiredDeviceCapabilities property in the plist file. This can prevent a device from showing up sometimes.
I encountered this today in XCode 5 and tried the steps specified. Eventually, I found another solution that may be of use to future readers (Xcode 4 or otherwise).
Go to your project settings and select your target.
Select the "General" tab and scroll to Deployment Info.
Under "Deployment Target", make sure that your device's OS, or something lower, is specified.
---> Your device should now show up as available for debugging in the listing.
Came across this by checking the same device in another project. In that project, the device was listed just fine. When looking at the project settings between the two, the above difference was what stuck out and resolved the issue.
The "Deployment Target" in the project general settings needs to be <= your device, as Danny said above.
Be aware that when you create a new project in a new version of XCode, the default deployment target will be the latest OS release. If your iPhone is on a lower release, this means you either need to upgrade your iPhone, or install an older SDK into your XCode.
You can install an older SDK by copying it into the XCode package at location:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

Which iPhone SDK should I use?

I have little knowledge about how to make application to compatible to a device.
I have iPhone SDK 4.0 and want my app to run on iOS 2.0 or later.
I have read that set only the iPhone OS Deployment Target to 2.0 and use only those API methods which are common after 2.0.
Is it enough?
or do I have to use another (lower) SDK?
or do I have to do something more...?
You should always be developing with the latest SDK. You can set this in your project's properties under "Base SDK" in the "Architectures" section of your project's settings (right click on the project in the organizer, and go to "Get Info").
However, to make sure that your app runs on older devices, you would do this by setting the "iOS Deployment Target" to iOS 3.0 under the "Deployment" section of the project's settings.
For the record, I said version 3.0 above because that's the lowest possible supported version that I see in my Xcode. I don't think it's possible to target 2.0 devices anymore.
The newest Sdk. Apple may not accept the Sdk create by old Sdk.
You can target your min required version os for your App even you are using latest version Sdk.

Base SDK missing - red .app portion?

I am reading the provisioning profile stuff on the app store website and am having a heck of a time figuring everything out. I have my distribution certificates and everything but I think that something is massively messed up in xcode. When I switch to my distribution profile in the overview pulldown - it immediately changes to "Base SDK Missing". AND - when I scroll down to the projects portion on the left side - my .app file is red? Very confused.
The .app file is red because it hasn't been built yet for that specific set of build settings, which is normal behavior. The error is the "Base SDK Missing" message.
Have you installed multiple versions of Xcode? Are you perhaps editing a project with Xcode 3.2.3 that was created with an earlier version of Xcode? Xcode 3.2.3 only ships with the iOS 3.2 and 4.0 SDKs, meaning if your project was targeted for iOS 3.1.3 (for example), the new version of Xcode wouldn't have the correct SDK installed to build, resulting in that error message. You can try changing the "Base SDK" setting of the project to 3.2 or 4.0, make sure the correct "Configuration" option is selected from the drop down.
Distribution file is just for when you want to build for the AppStore, in which case all you can do is build the .app file (which is stored in the build directory of your project folder). You cannot run or debug that version of the app on a device since it is codesigned by Apple specifically for release in the AppStore only.
If you're just testing the waters or working on tutorials, try out the "Debug" option so you can install it on the device (iPod Touch, iPhone, iPad) in which case the provisioning profile is used to allow you to run the app on the device.
You can use whatever SDK you want via the same drop-down menu for the overview pulldown (i.e. 3.0, 3.1.3, 3.2, etc). You can also change this option in the Project settings menu for both the target and the project settings. There is a section called "Base SDK" in the Build menu I think.
The .app file will be red there in the project tree so don't worry about it and you'll never really need to do anything to that file in XCode. Just realize that it builds the actual .app file in your project folder in the Mac OS Finder.