Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-28281] Support Big Sur / Apple Silicon

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2021-02-24T15:02:44.000+0000
Affected Version/sRelease 9.3.0
Fix Version/sRelease 10.0.0
ComponentsCLI
Labelsn/a
ReporterChristopher Williams
AssigneeChristopher Williams
Created2020-12-10T15:47:52.000+0000
Updated2021-04-13T12:28:29.000+0000

Description

I cannot even build the SDK locally right now with Apple Silicon arm64. This is likely because I'm using a bleeding edge arm64 Node 15 build. On trying to build the SDK from source, it barfs on downloading node-ios-device prebuilt binaries. I suspect there will be other issues.

Attachments

FileDateSize
ti.cloak-darwin-arm64.node2020-12-10T21:07:51.000+000060618

Comments

  1. Christopher Williams 2020-12-10

    Note that I can check out node-ios-device 1_X branch and build binaries locally, and they appear fine. I built and uploaded node-ios-device 1.9.0 binaries, except for the v11 API for node 0.10.x as that would not build for me. So I'll have to see if we can hack the download-all script to skip that one somehow.
  2. Christopher Williams 2020-12-10

    https://github.com/appcelerator/titanium_mobile/pull/12333
  3. Christopher Williams 2020-12-10

    Related: clang-format npm package barfs during our listing/formatting for iOS. I opened a PR to fall back when it's grabbing the binary: https://github.com/angular/clang-format/pull/69
  4. Christopher Williams 2020-12-10

    ti.cloak also blows up. I was able to build a darwin-arm64.node binary which seems to make it happy (see attached). [^ti.cloak-darwin-arm64.node]
  5. Christopher Williams 2020-12-10

    After a lot of fiddling with Android SDK/ndk, Android Studio, etc. the SDk seems to have built OK? But I can't launch the test app, as the x86/x86_64 emulators won't start. There's an arm64 pre-release emulator here: https://androidstudio.googleblog.com/2020/12/android-emulator-apple-silicon-preview.html I have that up and running, but the SDK doesn't seem to "see" it when it's running and tries to force me to pick one of the x86/x86_64 emulators.
  6. Christopher Williams 2020-12-10

    Update: got it to run with the preview arm64 emulator. You need to launch it yourself, then you need to act like it's a "device" to the CLI: ti build -p android -T device. We may need to update node-titanium-sdk to handle this emulator specially?
  7. Matthew Delmarter 2021-01-16

    I have just received my M1 MBP laptop and want to try getting Ti working on it, primarily focussed on iOS dev. Should I be able to get it working? Any tips or checklists I can work through to get up and running?
  8. Christopher Williams 2021-02-24

    [~mdelmarter] I think many build/dev tools are now officially supported. I used homebrew to install Node 15 w/ arm64 support, there's a VSCode build that works with apple arm64, the master branch of titanium_mobile should build/run fine now. Android is a little dicier because you have to play with special forks of the emulator, and have to modify the ndk-build to force rosetta for x86_64 under the hood (if building the SDK/modules), and I had to use an Azul/Zulu build of the JDK.

JSON Source