SlideShare a Scribd company logo
Building the Titanium Mobile
SDK from source
Angus Fox @nuxnix
CTO @Multizone
CTO @PiotaApps- Over 250 Alloy apps iOS and Android
Co organiser - London Twitter Developer Community
Lightning Talk
Titanium London
18 May 2017
Open Source
The project is Open Source. https://github.com/appcelerator/
titanium_mobile
The prebuilt GA release is available only as part of the Appcelerator
Platform. The Appcelerator Platform GA builds are hidden but the link
construct is as it always has been e.g. http://builds.appcelerator.com/
mobile-releases/5.5.1/mobilesdk-5.5.1.GA-osx.zip
Nevertheless it would be a step toward freedom from Appcelerator
licencing and the platform to be able to build it outselves from the
Open Source on Github.
Unfotunately the tools required are arcane and out of date.
Prerequisites
Apps SDK
MacOS sierra 10.12.x
Python setuptools, and the pyyaml
and Pygments libraries
Xcode 8.2.1 Android NDK r9d (obsolete)
Android SDK 23
SCons, Apache Ant, Eclipse, ADT
(for Android), Gperf
Node.js 4.2.6 max (obsolete)
Apple Java JDK for macOS 1.6
(obsolete)
Android SDK
To install Android Studio on your Mac, proceed
as follows:
Launch the Android Studio DMG file.
Drag and drop Android Studio into the
Applications folder, then launch Android Studio.
Select whether you want to import previous
Android Studio settings, then click OK.
Complete the Android Studio Setup Wizard
Choose Configure --> SDK manager and install
API 23 (Marshmallow / 6.0) and r21 versions of
the tools
Note SDK location /Users/angusf/Library/
Android/sdk
https://en.wikipedia.org/wiki/Android_Studio
Android NDK
r9d macOS 64 bit
This is no longer easy to find
but can be installed Install by
unpacking to a suitable place
fromthe old ddownload archive 
https://dl.google.com/android/
ndk/android-ndk-r9d-darwin-
x86_64.tar.bz2
I chose ~/Library/Android/ndk/
android-ndk-r9d near to where
Android Studio put the SDK.
https://en.wikipedia.org/wiki/Android_(operating_system)
Brew Package Manager
Brew is s package manager for
macOS that makes it easier to
install stuff 
https://brew.sh/
Ant - a Java library and command-
line tool that helps building software.
SCons used to be used to build the
Titanium SDK, it is a build tool like
make
$ brew install ant
$ brew install scons
https://en.wikipedia.org/wiki/Homebrew_(package_management_software)
Node.JS 4.2.6
N - Node Version Manager because
Titanium requires a very specific version of
Node.JS
$ cd /usr/local
…
$ brew install n
$ n 4.2.6
     install : node-v4.2.6
       mkdir : /usr/local/n/versions/node/4.2.6
       fetch : https://nodejs.org/dist/v4.2.6/
node-v4.2.6-darwin-x64.tar.gz
#################################################
####################### 100.0%
   installed : v4.2.6
• Building Titanium Mobile requires Java 1.6 Developer Tools. Java was
provided by Apple under licence from Sun Microsystems back in the
1.6 era.
• You can still find Java 1.6 for OS X https://support.apple.com/en-gb/
HT202912.
• This isn't a JDK but the note gives a clue. It says “This package
installs the same version of Java 6 included in Java for OS X
2013-005.”
• Unbelievably this installs fine on macOS Sierra. Its completely
obsolete but required for Android development.
JDK 1.6 for macOS Sierra
tisdk
$ npm install -g tisdk
$ tisdk list
6.0.3.GA    295540edadd20c0eecdc2c92ae813ae485d624d9
6.0.2.GA    3c5806f49b0cb252e0ae0f5313b114717dfd3fe9
6.0.1.GA    265db0df5c5ad73390d10209cd9ac81e2703b6b0
6.0.0.GA    1aa3df8102146fa1346ff5d79781655c715818b1
5.5.1.GA    b18727f7ccea7217f505a4639d4a0005ab1d3bfe
...
https://github.com/dbankier/tisdk
Building Titanium Mobile
SDK
$ tisdk build 5.5.1.GA
...
full.build:
BUILD SUCCESSFUL
Total time: 5 minutes 29 seconds
...
$ls
-rw-r--r--   1 angusf  staff  110714965  5 Apr 23:45
mobilesdk-5.5.1.GA-osx.zip
https://github.com/dbankier/tisdk
Checking what we got
This is the self built SDK.
$ ~/Library/Application Support/Titanium/
mobilesdk/osx/5.5.1
$ find . -type f | wc -l
8242
This is the 5.5.1.GA build from
Appcelerator.
$ ~/Library/Application Support/Titanium/
mobilesdk/osx/5.5.1.GA$ find . -type f | wc -
l
8242
The same number of files is a good sign.
Building Titanium CLI, and
Alloy
$ npm install -g titanium alloy appcelerator
$ ti sdk
ti sdk
Titanium Command-Line Interface, CLI version 5.0.12, Titanium SDK version 5.5.1
Copyright (c) 2012-2015, Appcelerator, Inc. All Rights Reserved.
Please report bugs to http://jira.appcelerator.org/
SDK Install Locations:
/Library/Application Support/Titanium
/Users/angusf/Library/Application Support/Titanium [default]
Installed SDKs:
5.5.1 [selected] 5.5.1 /Users/angusf/Library/Application Support/Titanium/mobilesdk/
osx/5.5.1
$
Test
Test by creating an empty Alloy app using CLI and Atom. Open a
new terminal and enter
ti create --id com.test -d . -n APPNAME -p all -
t app -u http://youdomain.name
$ cd APPNAME/
$ alloy new
$ ti build -p ios -C ?
Hello World app should open on your simulator
Thanks, Questions? Tweet @nuxnix Slides at slideshare.net/nuxnix

More Related Content

What's hot

What's hot (12)

Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
Linux Security  and How Web Browser Sandboxes Really Work (NDC Oslo 2017)Linux Security  and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
 
Resume
ResumeResume
Resume
 
OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()
 
Cqrs agile tourvienna
Cqrs agile tourviennaCqrs agile tourvienna
Cqrs agile tourvienna
 
用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
 
Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django session
 
Riding on rails3 with full stack of gems
Riding on rails3 with full stack of gemsRiding on rails3 with full stack of gems
Riding on rails3 with full stack of gems
 
Docker 1.10 1.11
Docker 1.10 1.11Docker 1.10 1.11
Docker 1.10 1.11
 
R10K Workshop - PuppetConf 2014
R10K Workshop - PuppetConf 2014R10K Workshop - PuppetConf 2014
R10K Workshop - PuppetConf 2014
 
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) :: 한국 카오스엔지니어링 밋업
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) ::  한국 카오스엔지니어링 밋업Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) ::  한국 카오스엔지니어링 밋업
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) :: 한국 카오스엔지니어링 밋업
 
Avoiding Performance Potholes: Scaling Python for Data Science Using Apache ...
 Avoiding Performance Potholes: Scaling Python for Data Science Using Apache ... Avoiding Performance Potholes: Scaling Python for Data Science Using Apache ...
Avoiding Performance Potholes: Scaling Python for Data Science Using Apache ...
 
PyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deploymentPyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deployment
 

Similar to Titanium London Lightning Talk - Building Titanium from the source

Similar to Titanium London Lightning Talk - Building Titanium from the source (20)

Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack Dart
 
Mobile development in 2020
Mobile development in 2020 Mobile development in 2020
Mobile development in 2020
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
 
Build and run embedded apps faster from qt creator with docker
Build and run embedded apps faster from qt creator with dockerBuild and run embedded apps faster from qt creator with docker
Build and run embedded apps faster from qt creator with docker
 
Webinar: Building Embedded Applications from QtCreator with Docker
Webinar: Building Embedded Applications from QtCreator with DockerWebinar: Building Embedded Applications from QtCreator with Docker
Webinar: Building Embedded Applications from QtCreator with Docker
 
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
Beginners guide-to-reverse-engineering-android-apps-pau-oliva-fora-viaforensi...
 
GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins
GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins
GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
 
Lecture02web 140phpapp01
Lecture02web 140phpapp01Lecture02web 140phpapp01
Lecture02web 140phpapp01
 
Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boardsHow To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
 
QConSF 2022 - Backends in Dart
QConSF 2022 - Backends in DartQConSF 2022 - Backends in Dart
QConSF 2022 - Backends in Dart
 
OpenCV 2.2.0 for Android
OpenCV 2.2.0 for AndroidOpenCV 2.2.0 for Android
OpenCV 2.2.0 for Android
 
GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on Android
 
Programming IoT with Docker: How to Start?
Programming IoT with Docker: How to Start?Programming IoT with Docker: How to Start?
Programming IoT with Docker: How to Start?
 
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
Raspberry Pi 2 + Windows 10 IoT Core + Node.jsRaspberry Pi 2 + Windows 10 IoT Core + Node.js
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
SPDK benchmark memo
SPDK benchmark memoSPDK benchmark memo
SPDK benchmark memo
 

More from Angus Fox

Social Developers London - Twitter Cards Update
Social Developers London - Twitter Cards UpdateSocial Developers London - Twitter Cards Update
Social Developers London - Twitter Cards Update
Angus Fox
 
Social Developers London - Twitter
Social Developers London - Twitter Social Developers London - Twitter
Social Developers London - Twitter
Angus Fox
 

More from Angus Fox (20)

#TapIntoTwitter - London - 15 May 2018
#TapIntoTwitter - London - 15 May 2018#TapIntoTwitter - London - 15 May 2018
#TapIntoTwitter - London - 15 May 2018
 
London Twitter Developer community meet up - Sept 2016
London Twitter Developer community meet up - Sept 2016London Twitter Developer community meet up - Sept 2016
London Twitter Developer community meet up - Sept 2016
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
Social Developers London update for Twitter Developers
Social Developers London update for Twitter Developers Social Developers London update for Twitter Developers
Social Developers London update for Twitter Developers
 
Social Developers London - Facebook F8 and Twitter Developer comparison
Social Developers London - Facebook F8 and Twitter Developer comparisonSocial Developers London - Facebook F8 and Twitter Developer comparison
Social Developers London - Facebook F8 and Twitter Developer comparison
 
Mz sdl-140331
Mz sdl-140331Mz sdl-140331
Mz sdl-140331
 
Mz sdl-130917
Mz sdl-130917Mz sdl-130917
Mz sdl-130917
 
Twitter Update for Social Developers London - May 2013
Twitter Update for Social Developers London - May 2013Twitter Update for Social Developers London - May 2013
Twitter Update for Social Developers London - May 2013
 
Open social mobile apps increase community involvement in policing and confid...
Open social mobile apps increase community involvement in policing and confid...Open social mobile apps increase community involvement in policing and confid...
Open social mobile apps increase community involvement in policing and confid...
 
Social Developers London - Twitter Cards Update
Social Developers London - Twitter Cards UpdateSocial Developers London - Twitter Cards Update
Social Developers London - Twitter Cards Update
 
Twitter Update for Social Developers London - March 2013
Twitter Update for Social Developers London - March 2013Twitter Update for Social Developers London - March 2013
Twitter Update for Social Developers London - March 2013
 
Social Developers London - Twitter
Social Developers London - Twitter Social Developers London - Twitter
Social Developers London - Twitter
 
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
Embedded Tweets, Timelines and Twitter Cards - Social Developers London 09 Ja...
 
Tayside Police Mobile App launch presentation
Tayside Police Mobile App launch presentationTayside Police Mobile App launch presentation
Tayside Police Mobile App launch presentation
 
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
#BLNMIM 2012 - Multizone Mobile Apps for engagement with the community
 
Mz twitter-1.1-sdl
Mz twitter-1.1-sdlMz twitter-1.1-sdl
Mz twitter-1.1-sdl
 
Mz mps-120704-published
Mz mps-120704-publishedMz mps-120704-published
Mz mps-120704-published
 
Mz digitalsurrey-120125-published
Mz digitalsurrey-120125-publishedMz digitalsurrey-120125-published
Mz digitalsurrey-120125-published
 
Devnest 111115
Devnest 111115Devnest 111115
Devnest 111115
 
Mz bcl9-20111029-published
Mz bcl9-20111029-publishedMz bcl9-20111029-published
Mz bcl9-20111029-published
 

Recently uploaded

Recently uploaded (20)

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 

Titanium London Lightning Talk - Building Titanium from the source

  • 1. Building the Titanium Mobile SDK from source Angus Fox @nuxnix CTO @Multizone CTO @PiotaApps- Over 250 Alloy apps iOS and Android Co organiser - London Twitter Developer Community Lightning Talk Titanium London 18 May 2017
  • 2. Open Source The project is Open Source. https://github.com/appcelerator/ titanium_mobile The prebuilt GA release is available only as part of the Appcelerator Platform. The Appcelerator Platform GA builds are hidden but the link construct is as it always has been e.g. http://builds.appcelerator.com/ mobile-releases/5.5.1/mobilesdk-5.5.1.GA-osx.zip Nevertheless it would be a step toward freedom from Appcelerator licencing and the platform to be able to build it outselves from the Open Source on Github. Unfotunately the tools required are arcane and out of date.
  • 3. Prerequisites Apps SDK MacOS sierra 10.12.x Python setuptools, and the pyyaml and Pygments libraries Xcode 8.2.1 Android NDK r9d (obsolete) Android SDK 23 SCons, Apache Ant, Eclipse, ADT (for Android), Gperf Node.js 4.2.6 max (obsolete) Apple Java JDK for macOS 1.6 (obsolete)
  • 4. Android SDK To install Android Studio on your Mac, proceed as follows: Launch the Android Studio DMG file. Drag and drop Android Studio into the Applications folder, then launch Android Studio. Select whether you want to import previous Android Studio settings, then click OK. Complete the Android Studio Setup Wizard Choose Configure --> SDK manager and install API 23 (Marshmallow / 6.0) and r21 versions of the tools Note SDK location /Users/angusf/Library/ Android/sdk https://en.wikipedia.org/wiki/Android_Studio
  • 5. Android NDK r9d macOS 64 bit This is no longer easy to find but can be installed Install by unpacking to a suitable place fromthe old ddownload archive  https://dl.google.com/android/ ndk/android-ndk-r9d-darwin- x86_64.tar.bz2 I chose ~/Library/Android/ndk/ android-ndk-r9d near to where Android Studio put the SDK. https://en.wikipedia.org/wiki/Android_(operating_system)
  • 6. Brew Package Manager Brew is s package manager for macOS that makes it easier to install stuff  https://brew.sh/ Ant - a Java library and command- line tool that helps building software. SCons used to be used to build the Titanium SDK, it is a build tool like make $ brew install ant $ brew install scons https://en.wikipedia.org/wiki/Homebrew_(package_management_software)
  • 7. Node.JS 4.2.6 N - Node Version Manager because Titanium requires a very specific version of Node.JS $ cd /usr/local … $ brew install n $ n 4.2.6      install : node-v4.2.6        mkdir : /usr/local/n/versions/node/4.2.6        fetch : https://nodejs.org/dist/v4.2.6/ node-v4.2.6-darwin-x64.tar.gz ################################################# ####################### 100.0%    installed : v4.2.6
  • 8. • Building Titanium Mobile requires Java 1.6 Developer Tools. Java was provided by Apple under licence from Sun Microsystems back in the 1.6 era. • You can still find Java 1.6 for OS X https://support.apple.com/en-gb/ HT202912. • This isn't a JDK but the note gives a clue. It says “This package installs the same version of Java 6 included in Java for OS X 2013-005.” • Unbelievably this installs fine on macOS Sierra. Its completely obsolete but required for Android development. JDK 1.6 for macOS Sierra
  • 9. tisdk $ npm install -g tisdk $ tisdk list 6.0.3.GA    295540edadd20c0eecdc2c92ae813ae485d624d9 6.0.2.GA    3c5806f49b0cb252e0ae0f5313b114717dfd3fe9 6.0.1.GA    265db0df5c5ad73390d10209cd9ac81e2703b6b0 6.0.0.GA    1aa3df8102146fa1346ff5d79781655c715818b1 5.5.1.GA    b18727f7ccea7217f505a4639d4a0005ab1d3bfe ... https://github.com/dbankier/tisdk
  • 10. Building Titanium Mobile SDK $ tisdk build 5.5.1.GA ... full.build: BUILD SUCCESSFUL Total time: 5 minutes 29 seconds ... $ls -rw-r--r--   1 angusf  staff  110714965  5 Apr 23:45 mobilesdk-5.5.1.GA-osx.zip https://github.com/dbankier/tisdk
  • 11. Checking what we got This is the self built SDK. $ ~/Library/Application Support/Titanium/ mobilesdk/osx/5.5.1 $ find . -type f | wc -l 8242 This is the 5.5.1.GA build from Appcelerator. $ ~/Library/Application Support/Titanium/ mobilesdk/osx/5.5.1.GA$ find . -type f | wc - l 8242 The same number of files is a good sign.
  • 12. Building Titanium CLI, and Alloy $ npm install -g titanium alloy appcelerator $ ti sdk ti sdk Titanium Command-Line Interface, CLI version 5.0.12, Titanium SDK version 5.5.1 Copyright (c) 2012-2015, Appcelerator, Inc. All Rights Reserved. Please report bugs to http://jira.appcelerator.org/ SDK Install Locations: /Library/Application Support/Titanium /Users/angusf/Library/Application Support/Titanium [default] Installed SDKs: 5.5.1 [selected] 5.5.1 /Users/angusf/Library/Application Support/Titanium/mobilesdk/ osx/5.5.1 $
  • 13. Test Test by creating an empty Alloy app using CLI and Atom. Open a new terminal and enter ti create --id com.test -d . -n APPNAME -p all - t app -u http://youdomain.name $ cd APPNAME/ $ alloy new $ ti build -p ios -C ? Hello World app should open on your simulator
  • 14. Thanks, Questions? Tweet @nuxnix Slides at slideshare.net/nuxnix