adobe air 의 ios8 air15 개발 에러 문제 과련 ERROR ITMS-9000: "Invalid Segment Alignment. This app does not have proper segment alignment and should be rebuilt with the latest version of Xcode.
AlrepondTech2014. 9. 30. 12:19
반응형
=================================
=================================
=================================
에러메세지:
ERROR ITMS-9000: "Invalid Segment Alignment. This app does not have proper segment alignment and should be rebuilt with the latest version of Xcode.
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.
Package Summary:
1 package(s) were not uploaded because they had problems:
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."
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 -
cd <sdk>/lib/aot/bin/ld64
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.
My client had this exact error today too, and I had used AIR 15.0.0.274. I've made a build with 15.0.0.289 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.
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.
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?
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).
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.
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.
But I got this problem after regenerating the certificate and provisioning profile. I did that because apple has introduced new "TestFlight" system for beta testing. And as a solution they are asking developers to regenerate the certificate and provisioning profile to include "TestFlight" entitlement in the package.
After using the new certificate with new profile, I got this error.
I am also waiting for the solution to this problem as soon as possible.
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 -
cd <sdk>/lib/aot/bin/ld64
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 m having the same issue , and i m using Flash Professional CC and the latest SDK , i'm using an ANE everything is working perfectly in My device and any other device also on IOS Simulator . and today i got that error when i submited my IPA .
We have a serious problem and the client is waiting for long time the app to be on the Store
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/" .
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?
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 )
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.
The really annoying thing is that we submitted the app 3 days ago, got accepted for an expedited review and then during the review they updated their requirements and rejected the binary!
Now we can't even upload a binary due to this error.
Last week we had an app accepted using the exact same Air SDK etc....
This is SO frustrating...as you can imagine even more so with a client being told they have an expedited review and then this with no clue how to fix it.
Hmmmmm will keep an eye here but I suspect we need a new release of Air SDK?
Steve, I'll know later if my approach worked ok. If it did then it would be possible to do the work around just in the Finder, without involving Terminal.
Whether you do this in Terminal, or Finder, you'll need to track down where the files are located. If you downloaded the AIR SDK and left it in your Downloads folder, the original ld64 file will be here:
My client's app successfully uploaded with the work around. I'm waiting to here if it's now in the review queue, but there's hope.
For Windows users it might just be that taking the Apple linker and replacing the Adobe one will work, but I'm not sure if that file is code, or just data. Also it may not be legal to give people bits of Apple code, no matter how small it is.
CD <SDK> / lib 디렉토리 / ADT / 빈 / LD 64 AIR SDK 관련 디렉토리에 # MV ld64 ld64_orig의 원래 링크 도구의 # 백업 -s는 / usr / 빈 / LD ld64의 LN # 신분증 링크 시스템을 사용은 SDK를 대체 할 수있는 도구와 함께 제공 링크 툴
CD < SDK > / lib 디렉토리 / ADT / 빈 / ld64의 해당 디렉토리에 # 1 AIR SDK를 MV ld64의 ld64_orig의 원래 링크 도구까지 # LN - 의 / USR / 빈 / LD ld64의 # 신분증 링크 시스템을 사용하는 SDK 도구와 함께 제공은 교체 도구를 링크
그런 다음 부드러운 제출을 재 포장.
참고 :
이 프로그램은 맥 OS X의 시스템에서 사용할 수있는, 윈도우 하나님의 말은하지 마세요;
저자는 당신이 Xcode6로 업그레이드 할 것인지 여부를 지정하지 않은,하지만 난 OSX 10.9.5 시스템을 업그레이드하기 전에, 6.0.1로 업그레이드 엑스 코드.
OS X에서만 사용할 수있는 이유는 실제로 매우 간단합니다. 크로스 컴파일러 (윈도우 플랫폼 IPA 패키지에 컴파일러)를 달성하기 위해 Windows에서 전체 컴파일 및 링크 도구를 제공하여 AIR SDK는 아이폰 OS, 문제는 링커에있다. 위의 솔루션은 OS X를 사용하여 AIR SDK를 링커는 링커와 함께 제공 교체하는 것입니다. Windows 플랫폼에서 동안, 우리는 직접 OS의 X 링커를 사용할 수 없습니다. 우리는 어도비의 업데이트를 기다릴 수 있습니다.