Unity vuforia xcode (iOS: armv7, arm64)

3.2k views Asked by At

If you have built an app for iOS(armv7, arm64) recently using these softwares, care to share: what versions of unity, vuforia, xcode you used.

1

There are 1 answers

3
d4Rk On

Note: This answer is based on the information from the questions comments.


iOS 64-bit requirement

Since Feb 1, 2015 Apple forces iOS developers to supply a 64-bit binary when submitting new apps to the App Store.

Source: https://developer.apple.com/news/?id=01192015a

For app updates this got relevant on June 1, 2015.

Source: https://developer.apple.com/news/?id=04082015a

So, you're right, you'll need a 64-bit binary to submit an update of your app.

Unity3D 64-bit support

iOS 64-bit support was added in version 4.6.2

Source: http://blogs.unity3d.com/2015/01/29/unity-4-6-2-ios-64-bit-support/

Unity coded a new compiler IL2CPP that is capable of 64-bit, and that's the only way to create 64-bit builds with Unity. As this new compiler is quite new (and still has a lot of bugs), I'd recommend to stick to the latest version of Unity 4.6.x (or 5.x, if you want to). The newer version include a lot of bug fixes, especially for IL2CPP.

How to make it work

We're using Vuforia SDK 4.0 together with Unity 4.6.6 (I'm sure it also worked with 4.6.5) and Xcode 6.3.1.

Create a 64-bit build with Unity

  • Enter Player SettingsiOS PlatformOther Settings
  • Select IL2CPP from Scripting Backend
  • Choose Universal from Architecture

Note: The IL2CPP compiler doesn't really deliver feedback on its progress, so the build may freeze Unity for a couple of minutes (depending on the projects size). Just wait until its finished.

LLVM optimization level in Xcode

As Xcode stripped to much code by default, we needed to reduce the optimization level in the Xcode project.

  • Click on the project ➔ Build Settings
  • Scroll down to Apple LLVM 6.1 - Code Generation (alternative: use the search function)
  • Change the Optimization Level to Fast for Release

See also: https://developer.apple.com/library/mac/documentation/General/Conceptual/MOSXAppProgrammingGuide/Performance/Performance.html

If you got this far, it should be working now ;-)