« 小伝馬町 かめや | トップページ | 西湘バイパス 西湘サービスエリア(下り) »

2011年10月15日 (土)

【備忘録】 Xcode4.2 で iOS4/5共用のアプリを armv6でコンパイルする

備忘録

iOS5へのアップデートにともなって Xcode4.2になりました。

Ios5

なので既存のアプリもiOS5用にビルドしなおそうと作業開始。

とくに何もせずばっちり動きました。iOS4.2のときのような大きな変更はないみたいです。

ところが、ここでひとつ問題発生。

iOSアプリをシミュレータや実機で試験するときには問題ないのですが、App Storeに申請するために verification しようとすると
「iOS4 に互換性のあるアプリは、armv6 のアーキテクチャでコンパイルしなさい、云々」
のようなエラーとなります

(原文)
warning: iPhone apps should include an armv6 architecture (current ARCHS = "armv7")
iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033)

あれおかしいぞ、XCode4.1のときは、armv6/armv7 両方で動くようにコンパイラのオプション(ARCHS)を指定したのだけどね、、、と思って確かめてみると、案の定、armv7 専用のスイッチに変更されていた。

A5

アップルとしてはもう一刻も早く iPhone 3GS以降の armv7 アーキテクチャだけに絞りたいんでしょうね。だからこんな意地悪をして。。。。ぶつぶつ。

1、TARGETS の下にあるプロジェクト名(作成中のアプリの名前)をクリック
2、右の窓から、"Build Settings"を選ぶ
3、"Architecture" - "Distribution" の行を左クリックでハイライトする
4、"Standard( armv7)"をクリックしてプルダウンを開き、"other..."を選択

Xcode42arch1a_2

5、ダイアログに armv6, armv7 の文字列を追加する。既に書かれている文字は削除する。

Xcode42arch2_2


以上

Distribution 以外の Debug, Releaseにも同様のことをしてもかまいませんが、このエラーが出るのが Distribution を verify するときだけなので、とりあえずここだけやっておけばOK。もちろん慎重にやりたい人は他のものもやってください。

この記事を読んで失敗しても当方は一切責任を持ちませんので自己判断でどうぞ。

|

« 小伝馬町 かめや | トップページ | 西湘バイパス 西湘サービスエリア(下り) »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/136134/52996234

この記事へのトラックバック一覧です: 【備忘録】 Xcode4.2 で iOS4/5共用のアプリを armv6でコンパイルする:

« 小伝馬町 かめや | トップページ | 西湘バイパス 西湘サービスエリア(下り) »