LoginSignup
10
9

More than 5 years have passed since last update.

Titanium で iOS アプリを プロダクトビルド以外で 64bit ビルドする

Posted at

なぜか最新の環境(SDK 3.5.0.RC、CLI 3.5.0-dev)でビルドしても、プロダクト(アドホック)ビルド以外は 32bit でインストールされてしまうため、シミュレータやデバッグ時のデバイスビルドは 64bit でテストを行うことができません。毎回アドホックビルドは面倒です。。。

試しに $ ti build -p ios --sim-64bit 等でビルドしてみてください(そもそも --sim-64bit オプションは Xcode6 からのシミュレータでは意味がないかも)。build/iphone/build/XXXXX.build/Debug-iphoneos/XXXXX-iPad.build の中身を見てみると、i386 や armv6、もしくは armv7 しか存在しないのがわかります。実機ビルドをして、Instruments でアクティビティを確認してみましょう。アーキテクチャが arm64 で動いていません。

原因はビルド時のテンプレートにある ONLY_ACTIVE_ARCHYES になっているためです。このテンプレートは SDK に内包されており、RC 環境でテストしているのであれば手動で書き換えてしまっても、GA が正式リリースされれば問題ないかと思います。

それでは手動で ONLY_ACTIVE_ARCHNO にしてみましょう。SDK 3.5.0.RC がインストールされているディレクトリまで移動しましょう。デフォルトでは以下の場所にビルド時のテンプレートが存在します。

~/Library/Application Support/Titanium/mobilesdk/osx/3.5.0.RC/iphone/iphone/Titanium.xcodeproj/project.pbxproj

このファイルをテキストエディタで開き、ONLY_ACTIVE_ARCH を探してください。ONLY_ACTIVE_ARCH = YES; になっているので、これを ONLY_ACTIVE_ARCH = NO; に変更して保存します。

保存後に再度ビルドしてみましょう。先ほどのビルドフォルダに i386 や armv6、もしくは armv7 の他に x86_64 と arm64 が生成されていますか?生成されていれば成功です。更に Instruments で確認してみましょう。アーキテクチャが arm64 で動いていますか?これで 64bit のテストできますね!

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9