With the Titanium 3.5.0 release expected to come out early next week, you’ll be just in time to build your iOS apps with 64-bit support. While updates on existing apps won’t be required to include 64-bit until June 1, this new requirement will be enforced for new apps starting February 1.
Modules also need to include 64-bit support
While Appcelerator has done a great job updating their SDK and modules to include 64-bit support, your apps probably also use third-party modules. These modules also need to be updated in order for your app to support 64-bit.
Find out which modules need updates
To find out if your project uses modules that do not include 64-bit support, you can use a new handy CLI I made.
$ npm install -g ti-64
$ cd yourTiProject
$ ti-64
This will give you a summary like this:
As you can see all modules required for this project have a version that includes 64-bit support.
Update your own and OSS modules
If you’ve developed your own modules you can follow the simple steps in the 3.5.0.GA Release Notes to update them for 64-bit. For OSS modules be so kind to fork the repo and do a PR.
List of OSS 64-bit modules
giTio indexes the new architectures
property in module manifests, allowing you to search for 64-bit modules. So far only 6% of all OSS modules have been updated, but fortunately this number is growing everyday.
Comments
Paul Ryan
I get “No project found” on every ti project I have tried this on
Fokke Zandbergen Post author
What ti-64 version (ti-64 -v) and command do you use?
Vincent
I get “No modules found”,
ti-64 -v
2.1.2
Any idea?
Fokke Zandbergen Post author
@Vincent, where do you run the command?
Vincent
From the root of my Titanium project, should I move to the xcode build project?
Fokke Zandbergen Post author
No, that should work fine. And you do have modules in that project’s ‘modules’ dir?
Mohit Gupta
I get the following error: /usr/local/lib/node_modules/ti-64/index.js:126
projectModules = flatten(res.modules.project.iphone, true);
^
TypeError: Cannot read property ‘iphone’ of undefined
at handle (/usr/local/lib/node_modules/ti-64/index.js:126:53)
at /usr/local/lib/node_modules/ti-64/node_modules/timodules/lib/timodules.js:48:7
at /usr/local/lib/node_modules/ti-64/node_modules/timodules/lib/timodules.js:29:7
at /usr/local/lib/node_modules/ti-64/node_modules/timodules/node_modules/tiapp/lib/tiapp.js:19:15
at Parser. (/usr/local/lib/node_modules/ti-64/node_modules/timodules/node_modules/xml2js/lib/xml2js.js:255:20)
at Parser.EventEmitter.emit (events.js:95:17)
at Object.saxParser.onclosetag (/usr/local/lib/node_modules/ti-64/node_modules/timodules/node_modules/xml2js/lib/xml2js.js:225:24)
at emit (/usr/local/lib/node_modules/ti-64/node_modules/timodules/node_modules/xml2js/node_modules/sax/lib/sax.js:615:33)
at emitNode (/usr/local/lib/node_modules/ti-64/node_modules/timodules/node_modules/xml2js/node_modules/sax/lib/sax.js:620:3)
at closeTag (/usr/local/lib/node_modules/ti-64/node_modules/timodules/node_modules/xml2js/node_modules/sax/lib/sax.js:861:5)
Fokke Zandbergen Post author
@Mohit, that error occurs when you run it in a project that has no (local) iphone modules at all. I’ve pushed a new version with a fix.
Plb
I get no project found. Please help
Fokke Zandbergen Post author
You have to run it in a Titanium project root.
Seif Sayed
I am at the project root and still getting the same ” no project found”
Fokke Zandbergen Post author
You are running it in the directory that has your tiapp.xml?
seif sayed
Yep, pretty sure
Thanks for your time
Fokke Zandbergen Post author
Odd. What version are you running? 2.1.3 should use the version of https://github.com/dbankier/timodules that was fixed to work with the Appcelerator CLI. Do you have the Titanium CLI installed? Or only the AppC CLI?
Plb
Yes, I am on root directory and running 2.1.3. Thanks.
ITs-iMac:DemoProject itdept$ ti-64 -v
2.1.3
Fokke Zandbergen Post author
And in that directory you have a tiapp.xml file? Does it have a ‘‘ tag?
Plb
ITs-iMac:DemoProject itdept$ ls
CHANGELOG.txt MarketplaceArtwork.png app manifest tiapp.xml
LICENSE README build platform
LICENSE.txt Resources iTunesConnect.png plugins
What is a ” tag? are u referring to its content?
Fokke Zandbergen Post author
WordPress took out the XML :) I meant the ‘modules’ element in the tiapp.xml – is that there? Could you install https://github.com/dbankier/timodules as global CLI and try that on the same project to see if it fails as well?
Alex
Hello,
I had this problem “No modules found”.
After running “npm install titanium -g” it works !
hope it could help, and thanks to Fokke.
config:
Mac OS x 10.10.5
appc 5.0.2
Titanium sdk 5.0.1
ti-64 2.1.3
Fokke Zandbergen Post author
Alex you are right. I’ve just pushed a new version of ti-64 that relies on the master version of timodules which DOES support the new AppC CLI.
Rodrigo Ferreira
When I run sudo npm install -g ti-64
I get the error below. I already installed the dependencies (
npm ERR! not a package /tmp/npm-31374-awsGlnB_/github.com/dbankier/timodules.git
npm ERR! Error: ENOENT, open ‘/tmp/npm-31374-awsGlnB_/github.com/dbankier/timodules.git-unpack/package.json’
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!
npm ERR! System Darwin 13.4.0
npm ERR! command “node” “/usr/local/bin/npm” “install” “-g” “ti-64”
npm ERR! cwd /Users/rodrigorosalin
npm ERR! node -v v0.10.37
npm ERR! npm -v 1.4.28
npm ERR! path /tmp/npm-31374-awsGlnB_/github.com/dbankier/timodules.git-unpack/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! not ok code 0
eduardo-Aspire-E1-546:~
Fokke Zandbergen Post author
@Rodrigo, could you try again? I think it was a temporary issue since I had no issues installing it just now.