Apple store connect doesn't show my latest build - ios

I built my latest release of my iPhone app. I used XCode to build it, archive it and publish it.
Usually I see the latest build in the Apple store connect. This time it doesn't show up and I don't know why:

You can check the status of you uploaded builds under Activity. Maybe there's something wrong with your upload.
Usually you need to wait a few minutes for apple to process your uploaded version.
Also try to hover over Build in your screenshot. A blue + button should appear there.
Your assumption, that you need to increment the deployment target is wrong.
You only need the Xcode 10.1 (or higher) build tools. The deployment target is the minimum iOS version which you support. So building for iOS target 9.0 with Xcode 10.1 should also work.

I just fixed the problem,
Till now, in XCode, under the deployment info, I had "Deployment Target = 9.1". I tried setting it to "10.1" and now my new builds show up on the online Apple developer page.
To solve the issue I had to go through the Apple help page, where I found that from now on, Apple only accepts apps build with XCode 10.1 or later

Go to Activity and check the binary version which you have uploaded. Check the status. The newer binary still is in the waiting process or have some issues. You should get a confirmation mail regarding successful uploads.

Related

What is the maximum accepted version of Xcode for uploads?

I recently updated to the release version of Xcode 13 on my Mac. Now when I upload an iOS App build to Apple using the upload endpoint (via fastlane) I get an error saying "Invalid Toolchain. Your app was built with an unsupported SDK or version of Xcode. If you plan to submit this build to the App Store, make sure you are using the versions listed in https://help.apple.com/xcode/mac/current/#/devf16aefe3b or later."
% xcodebuild -version
Xcode 13.0
Build version 13A233
I also deleted the old beta Xcode and restarted my mac to be sure. Anyone else having this issue? Any recommendations?
Thanks!
Update: this eventually went away. And did so in a way that, suggested it was possibly something being stuck on Apple's side. After updating fastlane and deleting everything Xcode related and trying again it didn't work. However after doing an upload from Xcode after the above, it failed one last time with the same stated reason, BUT THEN it began working from there forward from all upload sources.
I also "developer rejected" a "pending release" that was built from before I was having this issue. Unclear if that was related.

ERROR ITMS-90512: Invalid sdk value... 8.2 is higher than maximum allowed value of 10.3?

Trying to upload a binary, which includes a watch app. The error I'm getting (which I wasn't getting a couple days ago) is the value provided for LC_VERSION_MIN_IPHONEOS for the watchkit extension is 8.2 which is greater than the maximum allowed value of 10.3... apparently 8.2 > 10.3?
I'm updated to the latest XCode, 8.3, that didn't fix the problem. Tried changing the iOS deployment target for the watch app and extension, no apparent effect on the message.
Update: it's fixed!
I have submitted a bug to Apple. They have replied that they are aware of the problem and have people looking into it. They will contact me when they have resolved the issue. I'll post an update here when they do.
This is not related to Xcode 8.3, the error is in the Apple validation process. I had an app in review (no problems in uploading it) that got rejected because the user provided for login had expired. I made no changes to the app, just activated the user and submitted. I have the error now.
Edit: I can also confirm that if Watch support is removed everything goes well.
EDIT: This is problem on Apple side and nothing to do with Xcode. This is only effecting apps with WatchKit.
I just uploaded one my apps today that has a watchkit extension. Try this, it may or may not help.
Xcode -> Product Clean
Xcode -> Quit
In a console terminal do > rm -rf /Users/your_mac_user/library/Developer/Xcode/DerivedData/*
Relaunch Xcode and project
Go to your Xcode -> Build Settings for your iPhone app and make sure its set to 8.0 for debug and release
Now go to both your watch and watch extensions and make sure the Build setting is set to 8.2
Archive and upload again.
EDIT: Although successfully uploaded to iTunes Connect, when trying to submit a Testflight beta build, still got rejected by the same message
Invalid sdk value. The value provided for the sdk portion of
LC_VERSION_MIN_IPHONEOS in XXX.app/PlugIns/XXX WatchKit
Extension.appex/XXX WatchKit App.app/XXX WatchKit App is 8.2
which is greater than the maximum allowed value of 10.3.
Guess Apple's still working on it...
I am having this issue earlier, also with a watchOS1 target in my project.
I've tried to upload the binary again few minutes ago, no more warning shows, and passed the processing of iTunes Connect.
Everybody having this issue should give it a try!
I was submitting with an old Xcode version, I thought that was the problem, so went to the latest and it gives me the same message, that I am submitting for 8.2 which is higher than 10.3.
Now, here is where it gets really crazy. I said, OK, maybe there is an issue with 8.2, so I switched my minimum target to 8.3, cleaned, archived, submitted. I STILL GET THE MESSAGE ABOUT 8.2!!!
I exported the package I am uploading:
otool -l MyApp.app/MyApp |fgrep --after-context=3 LC_VERSION_MIN_IPHONEOS
cmd LC_VERSION_MIN_IPHONEOS
cmdsize 16
version 8.3
sdk 10.2
--
cmd LC_VERSION_MIN_IPHONEOS
cmdsize 16
version 8.3
sdk 10.2
I grepped both the package and my project directory, there is no friggin' "8.2" string anywhere. The same app without the watch extension validates fine. It seems they have broken the watch submissions (at least WatchOS1), which is something they should have noticed, yet I emailed support 2 days ago with screenshots and they were unimpressed, telling me to send them a video if I want my ticket to be processed! Take 1 minute to look at the upload log, I gave you app ID and timestamp, how hard is that?
Edit: It seems I installed the previous version of xcode, there is one newer out, but it also doesn't fix the issue, the problem appears to be on the Apple side...
Edit 2: The binary that has not been going through since the day before yesterday, just got uploaded. Maybe it is fixed?
Edit 3: But then you get the message in itunes connect when you try to submit the app. So it seems they are working on it, not completely resolved yet.
Edit 4: SUCCESS! Successfully submitted, waiting for review!
Apple fixed this bug yesterday. You can use the same binary. There's no need to make any changes.
I deleted the watch-related targets, and uploaded successfully.
If you download a new version of Xcode, make sure to switch to it:
sudo xcode-select --switch /Applications/Xcode_11.6.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
Ecuador's answer about using otool is a great tip to make sure the SDK is correct before you submit.
I too had the same issue. Removed the watch app and did the upload. It has been accepted for review. So looks like the issue is with the validation of the watchkit extension. Will submit the app again with the watch app once this issue has been taken care of by Apple.

Install old version via TestFlight

For internal testing we want to install an old version on a device of someone who's UDID is not in the list. Via TestFlight I can add the email of this person in order for him to download the newest version (via internal testing), but I was wondering if it would be possible to enable him to download and install a specific old version?
I've seen this page: how to install previous version on TestFlight but it is rather old and the suggestions are incorrect.
I found a workaround to test older builds with TestFlight. You can just use the link provided in the email you received when you uploaded the older build for testing. You will see something like this.
To test this app, open TestFlight on your iOS device using iOS 8.0 or later and install the update.
Tap on "TestFlight" in the above line. This will open TestFlight with a link to the older build. And you can install it if it hasn't yet expired.
Hope this helps!
Update
As of April 11, 2017, TestFlight now supports multiple builds.
https://developer.apple.com/testflight/release-notes/
You can navigate to the Previous Builds section of the app in TestFlight and get access to builds which are up to 90 days old.
Latest working way to find previous builds:
tap on the app icon ( current one )
scroll to the bottom , you will see 'Previous builds'
Tap on it and you will see all previous builds.
Thanks
You can check in Testflight application, there is a section old builds, under that section you can see old builds.
In the TestFlight we can check for the old build in that we can select the particular build.
[Please find the screen shot for reference]

Releasing iOS apps built with an older SDK version

My App Store question doesn’t seem to be answered clearly in the official guidelines document so here you go.
My app is developed for iOS8, its deployment target is 8.1. We would like to have it reviewed around next week.
Now there is the iOS9 version coming up. Will I be able to upload our binary to itunesconnect without any change? Will we have to compile with a newer SDK to pass the review process? Will I need to install a new version of Xcode do be able to upload a binary?
We would like to submit the app as is, without touching anything. (same situation as if it had been release 3 weeks ago) Is that possible? Thanks
Will I be able to upload our binary to itunesconnect without any change?
Yes. Apple will not require that you build your app against the latest SDK. Will you have problems with folks running iOS 9? Maybe?
Will we have to compile with a newer SDK to pass the review process?
No.
Will I need to install a new version of Xcode do be able to upload a binary?
No.
We would like to submit the app as is, without touching anything. (same situation as if it had been release 3 weeks ago) Is that possible?
Yes.
Also, here's a great post about the difference between the Base SDK and the Deployment Target settings: What's the meaning of Base SDK, iOS deployment target, Target, and Project in xcode

iOS version affecting app download

I recently submitted an app to the app store and it was approved, however it appears that I'm almost the only one that can download it. I've asked family and friends to download it on their devices but they just get a message saying something along the lines of
"iOS version 8.3 or later is required."
This is clearly a problem because it limits the amount of downloads, is there a way around this to allow users with almost any version of iOS to download the app?
I really appreciate any help, thank you!
You can change the iOS deployment target in your project build settings
Or set the deployment target of each target (general settings).
You should be able to lower down to 7.X with a Swift-written application.
Make sure you don't any API specific to iOS 8.X or that you handle those correctly.
In Xcode, click on your Xcode project and navigate to the General tab. Under Deployment Info, change your Deployment Target to the oldest OS version you would like to support. You must recompile and make sure to test on different OS versions, as you won't be able to call newer APIs if they don't exist yet in that iOS version.

Resources