Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-28042] iOS: Unable to build SDK with Xcode 12 beta 3

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2020-08-20T14:23:22.000+0000
Affected Version/sRelease 9.1.0
Fix Version/sRelease 9.2.0
ComponentsiOS
Labelsn/a
ReporterChristopher Williams
AssigneeVijay Singh
Created2020-07-23T17:44:16.000+0000
Updated2020-09-08T13:02:52.000+0000

Description

I just grabbed the latest Xcode 12 beta (beta 3) and now I'm unable to build the SDK or an app. It seems to be complaining about APSHTTPClient and arm64.

Comments

  1. Vijay Singh 2020-07-23

    While creating SDK using 'node scons.js clean build ios' getting following error in log - " fatal error: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: /Users/vijay/Documents/Projects/Titanium/titanium_mobile/iphone/TitaniumKit/build/Release-iphonesimulator/TitaniumKit.framework/TitaniumKit and /Users/vijay/Documents/Projects/Titanium/titanium_mobile/iphone/TitaniumKit/build/Release-iphoneos/TitaniumKit.framework/TitaniumKit have the same architectures (arm64) and can't be in the same fat output file " It seems creating fat library using 'lipo' is getting failed. I think module build or any library creation e.g APSHTTPClient or APSAnalytics will also fail.
  2. Vijay Singh 2020-07-23

    Reason is- Simulator build, using Xcode 12 Beta 3, has 3 architectures - arm64, armx86_64, i386 Device build, using Xcode 12 Beta 3, has 2 architectures - armv7 and arm64 Creating fat library is failed as both have 'arm64' architecture. I am not sure if new architecture, arm64, in simulator is intentional or beta related problem. If it is not a Xcode beta issue - Solutions - 1. Before creating fat library/framework , remove arm64 architecture from simulator builds. 2. Support XCFramework in sdk and create XCFramework instead of static library on module builds. (It requires minimum Xcode 11. In progress as part of TIMOB-27132) I think we should go for solution 1. Or Should we wait for next beta? cc [~cwilliams]
  3. Vijay Singh 2020-07-24

    PR - https://github.com/appcelerator/titanium_mobile/pull/11844 Testing (Using Xcode 12 Beta 3)- 1. Build SDK. Create any app using this SDK and run it on device and simulator both. It should run properly. 2. Create 'Objective C' based module using this SDK or use any existing module. Build it using this SDK. Create new app . Use some functionality of this module. Run it on device and simulator. It should run properly. 3. Test for 'Swift' based module in similar way to Objective C module. Note - 1. I think before merging this PR, we should wait for Xcode 12 beta 4 to be sure if arm64 in simulator is intentional or beta issue. 2. Library creation of APSHTTPClient and APSAnalytics should be updated.
  4. Christopher Williams 2020-08-06

    Merged to master, cherry-picked to 9_3_X
  5. Samir Mohammed 2020-08-17

    Closing ticket fix verified in SDK version 9.2.0.v20200814104443 and 9.3.0.v20200814072212. Able to build SDK and build iOS modules. *Test and other information can be found at:* https://github.com/appcelerator/titanium_mobile/pull/11844
  6. Vijay Singh 2020-08-18

    PR(master) - https://github.com/appcelerator/titanium_mobile/pull/11928 This PR is to fix app build issue for simulator using Xcode 12 Beta 5. How to test - 1. Create New app using Xcode 12 beta 5. 2. Run it on Simulator. It should build and run. 3. Run the same app using Xcode 11.x. It should build and run.
  7. Samir Mohammed 2020-08-19

    FR Passed, waiting on Jenkins build and CR.
  8. Christopher Williams 2020-08-20

    merged latest PR to master and 9_3_X
  9. Samir Mohammed 2020-09-08

    *Closing ticket*. Fix verified in SDK version 9.2.0.v20200908050955, and 9.3.0.v20200908051946.

JSON Source