Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Titanium iOS 64bit support?

ios

#1

Hi there!

Have you been able to get this running on the Ti 3.5.0 Alpha? By February, all modules need to be updated for 64bit support.

See: http://www.appcelerator.com/blog/2014/11/alpha-version-of-titanium-sdk-64-bit-support-now-available


Feature Idea: Titanium Android 6.0.0.GA Support
#2

Hi @inakiabt–Our Titanium plugin is 64bit compatible. We should have a new update soon which provides support for the newer versions of Titanium.


#3

I’m using verision 3.1 and after running the command below I’m getting it is not 64 bits compatible.

$ xcrun lipo -info modules/iphone/ti.newrelic/3.1/libti.newrelic.a
Architectures in the fat file: modules/iphone/ti.newrelic/3.1/libti.newrelic.a are: armv7 i386

I think 3.1 is the latest public version, right?


#4

I apologize, I was mistaken regarding the latest public version’s compatibility.

We do have this working in our pre-release build which you can access here:

There had been some things out of our control preventing our official release of this version. With the deadline coming up we’ll be looking in to doing all we can to push this along.


#5

While we do have this working internally the gist I linked to above does not provide 64-bit compatibility as I originally thought. I am requesting we get an updated gist made and will update this post ASAP once we have it uploaded.


#6

I downloaded Ti.NewRelic version 4.0 (http://download.newrelic.com/titanium/ti.newrelic-4.0.zip) and tested it with:

$ xcrun lipo -info modules/iphone/ti.newrelic/4.0/libti.newrelic.a

and got:

Architectures in the fat file: libti.newrelic.a are: armv7 i386

No x86_64 arm64.

For compiling the Module to 64-bit:

  1. Open the module’s Xcode project.
  2. You should have at least one warning asking you to update the project to the “recommended settings”, do that.
  3. Change all architectures to $(ARCHS_STANDARD).
  4. Set the deployment target to at least iOS 6.0.

That’s it. Build the module normally with this Release and it should now be 64-bit compatible. To verify, run the following command:

cd /PATH/TO/MODULE/

xcrun lipo -info build/lib.<MODULE_NAME>.a

And the output should be:

Architectures in the fat file: build/lib.your_module_here.a are: armv7 i386 x86_64 arm64

FYI: Titanium 3.5.0.GA has Just been released - Official Blog Post:.


#7

Hi NewRelic,

This should be a top-priority on your side, as missing the 64 bits supports makes NewRelic not usable anymore with Titanium on iOS. The workload to add this compatibility should be rather short (@Yozef has listed all the steps in the previous message).

In the meantime, we have no other solution than stop using NewRelic in the applications we ship to the iOS store…

What about opensourcing the Titanium module, which could allow contributors to propose pull requests to add 64 bits support?


#8

Any news on this? As @inakiabt stated, on Feb 1st iTunes Store will start rejecting applications that are not fully 64-bits.


#9

Hey everyone,

While this isn’t an official release of the New Relic Titanium module, this will work to satisfy the 64bit requirements coming down from Apple on Feb 1.

Follow the above instructions, and you will end up with 64 bit support for your app when using New Relic.


#10

If you run xcrun lipo on libti.newrelic.a now, you will see the following:

Architectures in the fat file: libti.newrelic.a are: armv7 i386 x86_64 arm64

:smile:

If you are building for iOS only, you will only need the updated download found in the gist. If you are building for Android only or both platforms, you will need to follow the instructions at the top of the gist, which just requires you to replace one file.

It looks like Appcelerator may be merging our PR into their SDK soon, so this file replacement procedure may not be necessary in the near future. Woohoo!