ブログランキング・にほんブログ村へ


iPhone/iPad用潜水艦ゲームアプリ ソナーエコー iTunesにて公開中

2013年12月31日

[iOS]xcode 5.0でreleaseモードでビルドしたアプリをテスト実行しようとするとエラー

これが今年最後の記事になるかな。

お題は表題の通り。xcodeは5.0.2。

製作中のiOSアプリが完成したので、Releaseで一度は走らせてテストしておこうとschemeを変更して走らせようとしたらダイアログが出て、起動できなかった。

メッセージ内容は以下のとおり。

Xcode cannot install or launch applications supporting the 64-bit architecture on devices running iOS versions prior to 6.0. This configuration is supported for distribution through the iOS App Store, but cannot be used during development with Xcode. To continue, edit the Run scheme action and select a build configuration that does not include the 64-bit architecture.

ターゲットマシンがiOS5.1だったから64ビットをサポートしてないから、ということらしい。
メッセージを読むと、なんだかApp storeから配布する分には問題ないというようにいってるみたいだけど?Debugでは動いてたしなぁ…
しかしこれはそのままというわけにもいかない。せっかく完成したタイミングなんでArchiveを作ってOrganizerでValidateテストをしてみよう。
ということでしてみたらやっぱりエラー。iOS5でarm64含んでるのはダメだよっていうことらしい。
調べてみると、arm64アーキテクチャ含むバイナリはiOS5では読めないとか。なんで無視するようにうまく考えとかないんだろう。わざとか?わざとか?
でもうちのテストマシンはiOS5,6,7と3台で各OSバージョンのテストラン実機としての役割を担ってる。
それで自分の普段使ってるiPodがiOS5で、バージョン上げたくないんだよね…
ちょっと悩むがすぐに普段使い用デバイスもう1台調達っていうわけにもいかないんで、今回はいままでどおり32bitsでいこうってことにした。パワーのいるアプリでもないし。
Project targetのBuitSettings の ALLで詳細を出し、Architecturesの項目 VALID_ARCHSからarm64を除去。
これでArchiveを作ってOrganizerでValidateテストを通過した。
SchemeのRunもReleaseでiOS5でも走るようになった。

今どきiOS5に執着するのも無意味っぽいのだけど、なんか好きなんだよねiOS5。
posted by みこあいさ at 00:52| iOS開発