Xcode 9.2 Upload to App Store fails with description length and invalid toolchain errors - ios

I've read through a bunch of forums including here:
https://forums.developer.apple.com/thread/87862
and some Stack Overflow posts.
I have tried modifying my plist using the proposed solution of
find Products/ -name Info.plist -print0 | xargs -0n1 plutil -replace BuildMachineOSBuild -string 16A323
in the archive directory that I'm trying to load, and I'm still receiving the error below. I believe I have valid Xcode and Mac OS versions. I'm running Xcode 9.2 which was released today and High Sierra 10.13.1. Why does my upload fail with these errors and how can I fix it?
The errors in text (to make this post more searchable):
The following issues occurred while distributing your application.
⚠ iTunes Store Operation Failed
description length:2651858
⚠ iTunes Store Operation Failed
ERROR ITMS-90534: "Invalid Toolchain. New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, macOS, and iOS SDK or later. Don't submit apps built with beta software including beta macOS builds."

Right-Click on the archive file (.xcarchive) > Show Package Contents > Products > Applications > Right-Click on the app file > Show Package Contents > Double-Click on Info.plist to edit it
Change value of DTXcodeBuild from 9C40b to 9C40
Re-submit and it will work
Edit/Disclaimer: this is just a trick to bypass the upload process, iTunesConnect still doesn't allow submission with 11.2 so this is not the right solution.

I started with several "iTunes store operation failures". While fixing the other errors, I keep trying to fix this "description length" error too - but it always failed.
So I solved all other errors first and suddenly this error was gone too.
I BELIEVE this error depends on other errors. The last error I fixed was called "Storyboard file not found")
Xcode 9.2

UPDATE:
Although my option may let you upload the package to iTunesConnect successfully, but may fail when you click Submit for Review.
Check this screenshot
Right-Click on the archive file (.xcarchive) > Show Package Contents > Products > Applications > Right-Click on the app file > Show Package Contents > Double-Click on Info.plist to edit it
Change DTXcodeBuild's value from 9C40b to 9C40 and it will work.

There is a discussion on this subject : https://forums.developer.apple.com/thread/93253
They advise to wait for the deployment of the new Xcode version number on the backend or come back to Xcode 9.1, it seems it works.
UPDATE : Change the DTXcodeBuild doesn't work

Hard Clean Product worked for me.
Hard clean the product by Command + Shift + Alt + K, then upload a new build to AppStore.
I hope this will work for you too.

Already Fixed, just try again to submit the app.

This issue was solved for me with installing the latest stable release of Xcode 9.2 (mac OSX Sierra 10.12.6)

I found a workaround it:
Download Xocde 9.1 from https://developer.apple.com/download/more/
Make a fresh archive then upload it. It worked for me.
P.S. I did not send for review but I sent it to internal testers including myself.

Related

Unable to install app in simulator Xcode 9 beta

I downloaded Xcode 9 beta recently, and when I tried to run my app in the simulator it is not getting installed. I am getting this error in my Xcode every time I try to run the app.
This app was unable to be installed.
The application used to work in Xcode 8.3.3
Unfortunately, the error message doesn’t explain why the install failed. You can take a look at ~/Library/Logs/CoreSimulator/CoreSimulator.log to see if the rest of the error message is there with more info. If not, you should check out the sim device’s system log:
sudo xcode-select -s /Applications/Xcode-beta.app # if you haven’t already
xcrun simctl spawn booted log show
You can use --predicate to filter that down a bit.
Late answer but might be that can be useful for others. I just get a project with existing watch-kit and custom keyboard code. After change the identifier i got the same error and i spend 1 day to find out why that happens.
I checked everything of bundle id and all version. then i do global search in xcode with old identifier and i found that following.
Here in both .plist file have old WKCompanionAppBundleIdentifier so after i update it with new manually application run again.
IMPORTANT NOTE:
IF YOU ARE JUST CHANGE IDENTIFIER FROM GENERAL TAB THAT DOES NOT MEAN IT UPDATE AT ALL. KINDLY CHECK WITH ALL POSSIBLE PLACES BY SEARCH AND REPLACE IT WITH NEW IDENTIFIER.
XCODE VERSIO: Version 9.0 (9A235)
I ran into this same issue and a quick click on Product > Clean did the trick for me!
If you are using CocoaPods in your project please have a look at this answer: https://stackoverflow.com/a/44533287/221194
Changing the status of the pods subdirectory helped me with my project.
I had a similar issue when installing my App on the IOS simulator (with Xcode 9).
I found the issue (at least for my case), it was due to an unauthorized key (Privacy - Location When In Use Usage Description) in the info.plist of the Watch App.
I have moved this key to the info.plist of the WatchKit Extension and now the App installs again.
I hope it will help others people having the same issue.
change deployment target as per requirement.
select project > GENERAL > DEPLOYMENT TARGET
also check ios version of your device
I had the same issue. Log shows it's an error caused by Google Signin:
FunctionName=-[MobileInstallationHelperService stageItemAtURL:completion:], SourceFileLine=392, NSUnderlyingError=0x7f891e9a1270 {Error Domain=MIInstallerErrorDomain Code=4 "Failed to remove ACL" UserInfo={NSLocalizedDescription=Failed to remove ACL, FunctionName=-[MIFileManager _removeACLAtPath:isDir:error:]
However it works on iOS 9 & 10 simulator.
I got same error and I was using Cocoapods in my project and for me help just update pods.
I ran into this issue in Xcode 9.0 beta 5 after renaming a project that contained an iOS and watchOS app. To fix, I recreated the iOS target.
This issue could be triggered by multiple things however if you take a look at the logs at ~/Library/Logs/CoreSimulator/CoreSimulator.log and it states an error that reads :
NSUnderlyingError=0x7fb51c271ee0 Could not hardlink copy /originPath
to /destinationPath
it's possible that your Build number in your Project Target's settings is set to empty.
Go to Project Target > Identity > Build and set a Build number. You'll have to uninstall the the app in the simulator and re-install it before installing updated versions.
Please check the bundle identifier to solve the issue.
I had the same issue on XCode 9.3.1 when I wanted to add google map framework to my project manually.
To fix the problem I remove the google frameworks from Embedded binaries...

Strange Errors on Archive Validation

I've had an iOS project in fairly stable condition up until Xcode 8's public release. After a bit of confusion with the Migrator, I finally convinced the compiler that I did not want to go Swift 3 yet, and that my code was indeed valid Swift 2.3. Not sure if this at all relates to what the Organizer does in validating my long-awaited archive with some long-overdue fixes for iOS 10, but we'll see...
Anyway, I got Xcode to archive my latest build (which runs fine on my iPhone 5s by the way). I tell Organizer to "Validate..." in preparation for an upload to iTunes Connect. After a good deal of doing its thing, it finally spits this at me:
Been at this for three days now. Application Loader gives me something similar, but not much more helpful:
Following the suggestions in this answer, I find that every single one of my compiled assets read as sRGB, not 16-bit, or P3. Aside: When does an API analysis file get "too large"? I mean, sure I use Apple's APIs a lot, but I can't be alone in that. That's what they're for, right?
I've tried (almost) everything I can think of. I've redone my code signing a dozen different ways, read and recombobulated the build settings wherever I thought could be relevant, and tried every combination of bitcode and symbol inclusion available to me. Just about everything I could come up with short of migrating to Swift 3! Could that really be my solution? It's a rather big jump, and with the time I have, I'd prefer to get this working build out to my users before I'm slammed too hard to shore up the updated codebase.
I can't seem to find anything on "ITunesSoftwareServiceAuthenticationErrorDomain", or this mysterious "error 434". The only reference I've found so far leads to a dead StackOverflow question. Really wish the author hadn't removed it... Wonder if he found his answer?
So my question is as follows: What am I doing wrong to get these errors, and how can I fix them? I'd rather not have to upload without symbols or bitcode, so if that's the workaround, I'd like to know why, so I'm not limiting myself for something dumb.
Cheers!
I had the same problem with Xcode 8.2 while submitting my application:
ITunesSoftwareServiceAuthenticationErrorDomain error 434.
Solution: I switched to different network and it worked for me.
Bump the build number and validate again.
Had the exact same problem. I tried upgrading to Sierra which seemed to update bits of Xcode etc. The new error message was formatted differently, so I could not see the "434"
(With 1 success in 15 attempts (I had to tweak a version number in a string in the app, so didn't choose to upload after that brief moment of joy), i just uploaded the archive anyway, and after 2 hours of processing, it was accepted. I will update when my new app version is live to verify this error can be safely ignored, at least in some cases (e.g. I checked all my graphics' color profiles, etc.).
Do the below steps :-
1. Analyze the project. (From Product Menu)
2. Click on Archive. (From Product Menu)
3. Select the development team for provisioning.
4. From summary window unselect "Include bitcode" and click on Validate button.
Now, It will working fine.
I solved it by uploading my app through Application Loader.
Archive app Export ipa iOS Deployment
Xcode-> open developer tool -> Application loader
I had the same problem while I was trying to submit the app to client's iTunesConnect account. I've signed in with new apple id, downloaded the certificates and provisionin profiles but still got this error:
(ITunesSoftwareServiceAuthenticationErrorDomain error 434.)
How to fix this error?
Try to remove Provisioning Profiles files at ~/Library/MobileDevice/Provisioning Profiles/
Make new Build and Archive the app. Xcode will create new Provisioning Profiles and submit the app to iTunesConnect.
Just to share this.
Quit xcode and re-login as suggested by members does not work for me. I solved it by using "Application Loader"
Steps: 1) change the version and build in your App 2) archive again for new file submission and export file to desktop 3) goto top menu: Open Developer Tool > Application Loader (if you don't have this , search, download and install this plug init) 4) upload the new version archived file. Done
You will find them in iTune Connect. From here process to My Apps > choose the rejected app > change the version and click on the new uploaded archive file, file will be processing..
5) time to resubmit :) cheers
Clicked Valid until it succeeded, 3rd time.
Since there seem to be many solutions to this problem, it may just be an issue not related to anything developers have control over and the "solutions" seem to be "solutions" because after some action was taken, it succeeded. The action I took was the non-action... and it was successful.
Hope this helps, as this is a stressful problem to have when you cannot upload your app and muddling around in Xcode to fix it you might break something else.
I fixed it by upload using Application Loader.
Besides, after upload the app i receive the warning about Privacy - Photo Library Usage Description and Privacy - Camera Usage Description, so that, please make sure you have them in your info
Hope it help!
I had the same problem. In my case it was caused by following. I had a lot of png-files in assets.xcassets and some of them had AdobeRGB Color profile. I changed the profiles to sRGB and xcode validated the archive with no error.
Frankly speaking, when I changed the profiles some other strange errors occured, but they dissapeared by themselves when I tried to re-validate the acrchive several hours later (I did nothing just waited).
If this occurred randomly, try to delete that archive and make sure you have "Generic iOS Device" selected as target when you run Product > Archive again. This solved it for me.
I Got the same issues when i try first time.Next time it Validated successfully. Please check network once before trying second time.
1.Cmd+Shift+K
2.Close Xcode
3.Open Xcode
4.Cmd+B
5.Product->Archive
Just Clear all file in Path ~/Library/MobileDevice/Provisioning Profiles
Go to Xcode Select Provisioning profile again and then it auto-generate again.
So It will be working fine.
In my case it was the following:
my account had been logged out and I had to enter the password again
Xcode v8.0 had to be updated to 9.x to be able to publish to the App Store (as of July 2018)
I fixed this problem by updating Xcode from 8.2 to 9.
Apparently there was a compatibility issue with an SDK used internally. Xcode was not helping with it's error message. I discovered it by using the Application Loader to upload the archive. Application Loader's error message made some sense.

Can't upload archive to app store since yesterday

2 days before I successfully uploaded the archive for my application and my application is on app store, but yesterday and today when I upload the archive I see "Uploading the archive" message (with subtitle "Sending api usage to itunes connect") at the beggining, but then I see "iTunes Store operation failed. This action couldn't be completed. Try again later" :
When I try to upload the archive for another application, everything is OK, it's very strange, because since 2 days ago I only changed the minimum age in the application from 17 to 18 (so I didn't change everything important in the application settings).
May be in happen because we use iAd network and apple notified that this network will be unavailable since July ?
just upload the ipa with Application Loader 2.9.1, even thought the apple tell you that you should upload the ipa with xcode 7.2 or Application Load 3.0.0, but , my solution works well
download Application Loader 2.9.1
Try this
Xcode -> Open Developer Tool -> Application Loader -> Login with AppleID -> Choose your app IPA
may this help you
Another solution that might help is disabling bitcode when submitting the IPA through XCode. Not sure why but this worked for my colleague when he had the same issue. If you want to keep bitcode then Application Loader will work, as pradip kikani pointed out.
I saw this exact problem TWICE yesterday (14th April 2016) using Xcode 7.2.
I'd get either a
"This action couldn't be completed. Try again later"
or a
"This action couldn't be completed. Try again. (-22421)"
which one appeared to be random. I just kept trying and trying and eventually the upload succeeded in both cases. Apple are obviously being a bit ****.
Not the most technical useful answer but thought it worth mentioning.
I ran into the same issue today when I wanted to validate my app in Xcode 7.3.1. In my case, my provisiong profiles had all expired on May 01, 2016 as I found out in the Xcode "Preferences > Accounts > View Details". I clicked on "Download All" and got renewed profiles with an updated expiry date.
I tried restarting my mac and all that but nothing helped.
What actually worked for me :
Logged out from my developer account in Xcode preferences.
Turn off bitCode from build settings.
Changed the provisioning profile.
But im not sure which one of the methods worked cause i did them all at ones.
good luck.
Got Same issue today!! I found there is no "arm64" in my valid Architectures.instead there was one "arm6".
Updated Valid Architecture list resolved my problem.
While facing such issue you should take care of some points listed below:
Make sure you have added correct bundle ID & provisioning in to App
If it is correct than might be after updating it on developer account it was not updated on Xcode. So in that case go to Xcode > Preferences > remove Account & Add it again. Clean Xcode set provisioning in targets & Projects both
Once you done with above steps clean project & Prepare New Archive again & try to submit it
Important Notes:
Do not try to submit Build files from Beta Xcode versions
If you are using Application loader than make sure its version is greater than or equals to 3.0
Hope it will help you.
I solved a similar issue by changing the build number from 1.0 to 1.1.

Invalid Swift Support - Files not in right location

I've been trying to upload a new build to iTunes Connect to update an app. I first used xCode 6 but got a email from Apple stating this:
Dear Developer,
We have discovered one or more issues with your recent delivery for "App". To process your delivery, the following issues must be corrected:
Invalid Swift Support - The files libswiftDarwin.dylib, libswiftDispatch.dylib, libswiftCoreGraphics.dylib, libswiftUIKit.dylib, libswiftContacts.dylib, libswiftCore.dylib, libswiftCoreAudio.dylib, libswiftFoundation.dylib, libswiftXCTest.dylib, libswiftCoreImage.dylib, libswiftObjectiveC.dylib aren’t at the expected location /Payload/App.app/Frameworks.
Move the file to the expected location, rebuild your app using the current public (GM) version of Xcode, and resubmit it.
Once these issues have been corrected, you can then redeliver the corrected binary.
I thought it was a simple fix, so I just updated to the latest GM (Xcode 7.2) & completed the Swift 2 migration, however I received the same email. Could someone explain how to solve this and what those files are? This isn't a "files don't match" problem as seen in other questions.
I stumbled upon this as I've encountered the same problem. It's the first time I've been tasked with handling the release of a Swift app to the App Store.
I found that this answer by TALAA works a treat: https://stackoverflow.com/a/26949219/1567836
There is an "Embedded Content Contains Swift Code" flag in the Build Settings that needs to be set to YES. After setting this, clean the project before building again.
After the clean, you'll have to recreate a build to upload to the App Store. You might find that the new upload will get rejected claiming that a binary already exists for that number. If you update the build number (has to be larger than the previous one) then the new upload will be accepted.
As per the #Thomas You need to enable that flag and after that for the "Invalid Swift Support", I had the issues with Application Loader since Xcode 6.4. So, I started uploading the app from the "Organizer" (Xcode > Window > Organizer > Upload to App Store).
This solves the problem.
Inspect the payload and also the SwiftSupport folder in the .ipa file (by converting it to a .zip) and make sure the libraries in the email match across both those directories. Those need to match apparently.
You should probably not have libswiftXCTest.dylib in the Payload/App.app/Frameworks or SwiftSupport folders in something you're submitting to Apple. If you do, check the build section of the scheme for your App target and make sure you aren't including any test targets in your Archive step.

xcode sumbission the application you have selected does not exist

Has anyone seen such an error ? What does it mean ?
It was an update of already existed app.
Xcode automatically manage provisioning profiles.
Xcode 6.3.2
OS X Yosemite 10.10.3
try to use Application Loader (https://itunesconnect.apple.com/apploader/ApplicationLoader_3.0.dmg)
Had the same problem with Xcode 6.4, but went thru using Application Loader
Or you can open it from Xcode -> Open Developer Tools -> Application Loader
I finally got my binary uploaded to iTunesConnect.
Archive your app in Xcode as normal. (I'm still using 6.2)
In Organizer, select the archive, Export, select Ad Hoc or App Store. This saves an .ipa file.
Open AppLoader, select "Deliver Your App", click "Choose", select the .ipa file from step 2. Follow the prompts.
Notes
Going this route, you won't need to recreate the In-App-Purchase that AppLoader expects when you start from scratch.
I got a warning that the API analysis file being too large, but I think that can be safely ignored.
The uploaded binary has a warning that the entitlement for TestFlight Beta testing is missing, but I don't use that, and it can also be ignored.
If you have xcode < 7.x then you are going to face this problem..What fixed for me was building the project from xcode 6.x(mine 6.4) and then opening xcode > 7.x (mine 7.0) and then uploading app from there...
Note:You dont need to build app from xcode 7.x . Just open the xcode
and select window organizer...select the build and upload...
In my case firstly I installed last Xcode version 7.1
In my application I used GoogleMaps.framework, I opened it's bundle and removed "Executable file" and "CFSupportedPlatforms" from Info.plist, then I did the same to all my added frameworks
Finally fixed this problem, first you need to upload it with Application loader. Cause when the error happen, you can have more detail about it.
This is the Issues I got, and I found that the version numbers are the same as those library in cocoapod or other library. To solve this. Go thought all the info.plist. And change the Bundle versions string, short, and Bundle version to higher value, in my cause version number > 1.3.5.
hope this can help :D
Im stuck with the same issued, solved by download xcode 7 and submit app with it, error gone!. Hope it help everyone!.
I was using atool from a shell script to verify and upload builds to TestFlight, then I found this thread and decided to follow #bwang's advice to use the Application Loader, and it worked!
I didn't have to download ApplicationLoader because it already comes bundled with Xcode 6.4, I just opened Xcode, then from the Dock I right clicked the Xcode icon, and then I selected "Open Developer Tools > Application Loader".
I hope Apple fixes this issue soon, because its breaking many CI tools like jenkins when using it to upload builds using atool.
Encountered the same issue, tried all the options mentioned but no luck, Finally could solve the issue by modifying 3rd parties info.plist
Search all info.plist files in your project and see where each and every plist has "Bundle Identifier". If not add it and submit via application loader.
When Xcode submission isn't working, upload using Application Loader instead:
Archive from Xcode.
Save the resulting .IPA file.
Upload with Application Loader.
That solves this issue and many other times when Xcode upload isn't working. Additionally, if it still fails, it will often give you a more detailed error message output.

Resources