Today I am trying to submit a new version of an app to iTunes with the application loader but keeps coming up with the following error. The app was submitting fine last Friday. Any help or fixes will be much appreciated.
1 package(s) were not uploaded because they had problems:
/var/folders/cc/4b5fjzqn0_n34cll1wzkbk49jhjcnt/T/404743731.itmsp - Error Messages:
ERROR ITMS-9000: "Invalid Segment Alignment. This app does not have proper segment alignment and should be rebuilt with the latest version of Xcode. Please contact Developer Technical Support if you need further assistance."
We too are having this problem. We have tried everything we can think of.
Questions for Camx:
What version of xcode and what os are you running?
If anybody wants to discuss ping me @jfreeney on twitter.
Don't forget that AIR doesn't involve using Xcode, it just has to appear to be the right version of Xcode. Only if you're using the Simulator does it then matter which Xcode you have installed. I mean, just think of Windows users, they can build iOS apps, and certainly don't have Xcode installed.
But as I said, yesterday's AIR update, and the one from the 18th, are both set to appear to be Xcode 6.0.0, and iOS 8.0.
My client had this exact error today too, and I had used AIR 220.127.116.114. I've made a build with 18.104.22.1689 for them to try using, but I'm not expecting it to make a difference. Both of those versions of AIR are set to appear to have used Xcode 6.0, which should count as being later than 5.1.1.
Perhaps Apple had a mistake in Xcode 6.0, and do now require either 5.1.1 or 6.0.1.
I have emailed Adobe for comments on this.
Thanks for the info Colin. That confirms what we have tried also.
I have tried the iOS 8 SDK and also tried the release of air version 15 and the latest beta version of 15.
I can't find anything on Google. An annoying bug because we need to push a new version of my app to fix some breaking changes in iOS 8.
Thanks for reporting the issue. Could you please tell us how are you packaging the app, are you using Flash Pro/Flash Builder or command line? If was using Flash Pro or Builder, could you please tell us the packaging settings you used? Or Please share the exact ADT command used to package the application. Could you please share the xml/swf/assets with us?
Could you please try uploading a very simple HelloWorld application built with latest AIR 15 beta?
Adobe AIR Team
We are using Flash Builder with the most recent beta AIR SDK (289) using the default fast compiler. This is an update to an existing application and the build settings have not changed. I can not share the project but I will try to upload a simple test application in the morning (EST).
They will fix this one quick Camx. Thank you Colin for the reminder that xcode does not matter
I'm using the export release build in flash builder 4.7 with the Air 15 build 289 sdk. You can find the ipa here if you want to have a look at it. http://www.tribalddb.co.nz/dev/flybuys/FlyBuys4.0.3.ipa
The build command used by flash builder is -
/usr/bin/java -d32 -jar /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_22.214.171.1249722/AIRSDK/lib/adt.jar -package -target ipa-app-store -hideAneLibSymbols no -provisioning-profile /Users/cameronc/Dev/AirApps/FlyBuys/fly0108-uat-my-fly-buys-3-1/certs/dis/Fly_Buys_App_Store_2014.mobileprovision -storetype pkcs12 -keystore /Users/cameronc/Dev/AirApps/FlyBuys/fly0108-uat-my-fly-buys-3-1/certs/dis/LoyaltyNZDistributionCertificates.p12 -storepass <Value cannot be displayed> MyFlyBuys.ipa MyFlyBuys-app.xml assets Defaultfirstname.lastname@example.org Default-Portrait.png Default-Portrait@2x.png Default.png Default@2x.png Icon114.png Icon120.png Icon128.png Icon144.png Icon152.png Icon29.png Icon36.png Icon48.png Icon512.png Icon57.png Icon72.png Icon76.png MyFlyBuys.swf -extdir /Users/cameronc/Documents/Adobe Flash Builder 4.7/.metadata/.plugins/com.adobe.flexbuilder.project.ui/ANEFiles/MyFlyBuys/com.adobe.flexide.multiplatform.ios.platform -platformsdk /Developer/Platforms/iPhoneOS8.sdk
Thank you for your reply, we're able to reproduce the problem. Looks like, something has changed from Apple side recently, we're investigating.
Hi all, I'm getting this issue as well this morning when submitted a new build of an app that I successfully submitted yesterday. When I revert the new change I still get the same error.
Look forward to hearing any news of a fix.
Just to confirm that I am also having this problem. Using the latest Flex SDK 13.0.1 with Air 15. I uploaded an app just two days ago, on the 23thd, and everything was fine. I wanted to upload a new build today and the "Invalid Segment Alignment" error showed up.
It seems there have been changes in way Apple expects the apps to created. We investigated this deeper, and found that the output of our linker (in our toolchain) is no longer being accepted by Apple.
We are working on this to upgrade our toolchain, including the linker. For the time being, we would suggest you to try using the ‘linker’ available on the system. We have done tests with a couple of apps and it seems to be fixing the problem. Please give it a try and see if it can unblock you. Please note that this workaround is applicable only for Mac platform.
Steps to make use of system linker -
mv ld64 ld64_orig
ln –s /usr/bin/ld ld64
<Build the IPA now using Flash Pro, Flash Builder or on command line>
Before the submission, we recommend to test the application functionality as well. Please keep us posted with more information in this regard. It will help us fix our toolchain sooner and in a better way.
I have the problem to. But how to do this in flash CC?
Hi i have executed to system liker , exactly how it is written after i exported my app using Flash CC ( i ve used the same sdk in system linker ) , but i showed an error i think is simple :
SDK is missing file /Applications/Adobe Flash CC/AIR3.6/lib/aot/bin/ld64/ld64
I think it is because i moved the ld64 to ld64_orig and the creation of the syslink was not perfect , i ve checked in the folder "<sdk>/lib/aot/bin/ld64" the ld64 is there as a link .
but the problem is that the ld doest not exist in "/usr/bin/" .
so what can i do i think is simple ?/
Flachakir - I've had the same here. Renamed the file as suggested by Pahub, created the link and still ran into the same error.
Turns out that the xcode reference was wrong. Prior to installing xcode 6, I renamed the 5.1.1 installation, and the ld (xcode path) pointed to the old package name. Upgrading to 6 did not reset that, obviously.
So you might have to some or all of the following:
- run xcode-select in the terminal, use -s to set the path to your xcode(.app)/Contents/Developer directory.
- check the new path with -p
- delete the ld64 alias created in the AIR SDK
- create it again as described above by Pahub
- open it; your terminal window should show the same printout as with xcode-select -p
- now compile again (I used adt via terminal)
This solved it for us (and for now). Hope it helps.
Pahup, Thanks for your answers. It solved the problem. But could you please suggest why we are getting the following warning on the prerelease screen in itunes connect:
"To use TestFlight Beta Testing, this build must contain the correct beta entitlement.
Faq on apple regarding this:
What should I do if my prerelease build does not contain the correct beta entitlement?
You need to sign the app with a Distribution Provisioning profile that contains the beta entitlement. Distribution Provisioning profiles can be generated in the iOS Developer Center.
If you have an existing Distribution Provisioning Profile that was generated before the launch of TestFlight Beta Testing, you may need to regenerate the profile. "
I regenerated the certificate and provisioning profile, but still I am getting the same warning. Can we avoid this warning? or Builds with this warning will be rejected by apple?
Thanks in advance.
Changing the linker as suggested allowed us to submit a new build for an app that had been rejected early this morning.
We've exhaustively tested the app on the following devices:
- iPad 1
- iPad mini
- iPad mini retina
- iPad 3
- iPod 4th Gen
- iPod 5th Gen
- iPhone 6
- iPhone 6+
No issues detected.
Are using the latest Xcode ( the "ld" command) ?
I have Xcode v6.0 (6A313) installed.
Xcode is at 6.0.1 now, not sure what build number that is.
I've done the System linker successfully , i got the ld file from Xcode bin and i've packaged my app successfully everything is working perfectly . i submitted to the Apple Store i got the same Error . .. ( the new "ld" is the "ld" on the Xcode Version 4.6.3 (4H1503) that i'm using now for my ANE's )
I can confirm that using the Mac linker fixes the upload error in iTunes (Application Loader), great!
I have not tested the compiled ipa yet. I will do that in a couple of hours and report back.
Thanks for posting this fix so quick! As I am developing on Windows, I hope a fix for Windows will be possible soon.
Trying these steps gave me a no such file or directory error. So instead I left the renamed file there and copied the Apple ln file and renamed that to ln64. That almost worked, but I got an error about the Xcode path. That happened because I was using Xcode 6 a while ago as “Xcode GM”, and had gone back to it being called “Xcode” when the release version came out. Seems that Flash was still remembering my renamed version.
That was fixed with this line:
sudo xcode-select --switch /Applications/Xcode.app
Then the app built ok. This is from within Flash Pro, I didn’t use the command line for the build.
Will get my client to try resubmitting this version.