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 Settings
? iOS Platform
? Other 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 ;-)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…