[TIMOB-27261] iOS Unsupported Architecture [x86_64, i386]
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2019-08-28T22:35:24.000+0000 |
Affected Version/s | Release 8.0.0 |
Fix Version/s | Release 8.1.1 |
Components | iOS |
Labels | engSchedule, ios, regression |
Reporter | Francisco Antonio Duran Ramirez |
Assignee | Vijay Singh |
Created | 2019-07-17T23:57:59.000+0000 |
Updated | 2019-08-28T22:35:24.000+0000 |
Description
Hello. Good afternoon.
I created an adhoc build with the specs mentioned on the section of environment, so after that, I use the application loader to upload the build, but I am getting the issues attached in the image.
Specs:
Titanium SDK : 8.0.2.GA
CLI: 7.0.12
Node : 8.9.1
Axway Appcelerator Studio, build: 5.1.2.201903111843
Xcode : 10.2
ERROR ITMS-90087: "Unsupported Architecture. The executable for tony.app/Frameworks/TitaniumKit.framework contains unsupported architecture '[x86_64, i386]'."
ERROR ITMS-90209: "Invalid segment Alignment. The App Binary at tony.app/Frameworks/TitaniumKit.framework/TitaniumKit does not have proper segment alignment. Try rebuilding the app with the latest xcode version."
ERROR ITMS-90125: "The Binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's Linker."
WARNING ITMS-90080: "The Executable Payload/tony.app/Frameworks/TitaniumKit.framework" is not a Position Independent Executable. Please ensure that ur build settings are configured to create PIE executables."
Note: If use the following specs, I will not get any complaint of apple in the application loader.
Ti SDK : 7.5.1.GA
CLI: 6.2.2
Node Version : 8.9.1
Xcode: 10.2
I do not have a reproduce project for the issue, since the project which I am using is very extensive like to put it in this jira ticket.
Please let me know whether you have any doubt or question.
Thanks, and best,
Antonio Duran.
Attachments
File | Date | Size |
---|---|---|
Screen Shot 2019-07-17 at 4.26.56 PM.png | 2019-07-17T23:44:55.000+0000 | 305077 |
Hello, Thanks for sharing with us. Can you please check this [link](https://github.com/williamrijksen/com.williamrijksen.onesignal/issues/84)? Hope this helps.
Hello @Rakhi Mitro. Good morning / afternoon. Thank you for the input. Yep I found that part yesterday, but that link is related about one signal module more specifically to the *OneSignal.framework* . In my case, I am not using onesignal module, and it is related about : *TitaniumKit.framework* contains unsupported architecture [x86_64, i386] Sorry for the red part, I did not add any color. Emphasizing that this issue is not happening with 7.5.1.GA. Please let me know whether you have any doubt or question. Thanks, and best, Antonio Duran.
[~antonioduran] -- does you app use any native modules? If so, which ones and what versions?
Hello @Jason Kneen. Good afternoon / evening.
Please let me know whether you have any doubt or question. Thanks, and best, Antonio Duran.
[~antonioduran] Rather selecting 'iOS AdHoc' , please select 'iOS iTune Store' while packing the app from Studio. After building successfully, it will launch an interface in Xcode where you can see Archives of your app. If it didn't get open, open Xcode -> select Window -> select Organizer. Select your app -> Click on 'Distribute App'. There you have option for directly uploading app to App Store. If you want to upload app via Application Loader select Ad Hoc option and export ipa from. Use this ipa to upload to App Store. Meanwhile we will investigate the issue. Thanks!
Hello @Vijay Singh. Good afternoon / evening. I tried with the option of Distribute - Apple iTunes Store from Appcelerator Studio, and Apple no longer complained about the issue reported before, so at least we have a temporary workaround using Distribute - Apple iTunes Store. Also I tried on the terminal executing the following:
and I noticed this part very important: *[INFO] Removing invalid architectures from TitaniumKit.framework*
So, the bug is when a build is created as an adhoc, and then if this build is used with the application loader to upload the app to the appstore, apple will complaint about the issues described in this ticket, so for some reason in the process of the creation of the adhoc the architectures of i386 & x86_64 are not removed from the TitaniumKit.framework. So I am trying to have a workaround doing the following:
but not sure how to create this part to be executed as a script phase during/after the compilation . Please let me know whether you have any doubt or question. Thanks, and best, Antonio Duran.
Thanks for detail [~antonioduran]. PR - https://github.com/appcelerator/titanium_mobile/pull/11072
[~vijaysingh], i think this is something we should consider for 8.1.1. Can you please do a 8_1_X backport? Thanks!
PR(8_1_X) : https://github.com/appcelerator/titanium_mobile/pull/11087
FR passed. Waiting on Jenkins.
[~lchoudhary] PR (8_3_X) - https://github.com/appcelerator/titanium_mobile/pull/11183
Merged to master, 8_1_X and 8_3_X
Verified the Fix on SDK 8.1.1.v20190828100656,8.2.0.v20190828134315 and 8.3.0.v20190828100616. Works as expected. able to upload app through application loader.