新しくリリースされた Xcode 5 に更新しました。Google Maps iOS SDK を使用する開発中の iOS アプリがあります。Xcode 4 で開発していたとき、プロジェクトに SDK を追加するためArchitectures
の Google の手順 7 に従って、プロジェクト設定の設定を変更しました。
7. 特定のターゲットではなくプロジェクトを選択し、[ビルド設定] タブを開きます。Architectures のデフォルト値を armv7 に置き換えます。[その他のリンカー フラグ] セクションで、-ObjC を追加します。これらの設定が表示されない場合は、[ビルド設定] バーのフィルターを [基本] から [すべて] に変更します。
Xcode 4 ではすべて問題ありませんでしたが、Xcode 5 でプロジェクトを開くと、課題ナビゲーターに次の警告が表示されます。
プロジェクト設定の検証
推奨設定への更新
警告をクリックすると、Xcode によってプロジェクト設定が表示され、[キャンセル] ボタンと [変更を実行] ボタンを含むポップアップが表示され、加えたい変更の次の説明が表示されます。
Project 'Your Project' - 自動的にアーキテクチャを選択
Project 'Your Project' は Architectures 設定をオーバーライドします。これにより、設定が削除され、アクティブなプラットフォームと展開ターゲットで利用可能なハードウェアに基づいて、Xcode がアーキテクチャを自動的に選択できるようになります。
[変更を実行] をクリックして、Xcode にやりたいことを何でもさせてみましたが、アプリはまだシミュレーター用にうまくビルドされていました。ただし、iPhone 5 (ARMv7S をサポート) を接続して実行しようとすると、次のリンカー エラーでアプリのビルドに失敗しました。
Ld /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos/Your\ App.app/Your\ App normal armv7s
cd "/Users/macmini/Documents/Your App"
setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -L/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Documents/Your\ App -filelist /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Intermediates/Your\ App.build/Debug-iphoneos/Your\ App.build/Objects-normal/armv7s/Your\ App.LinkFileList -dead_strip -ObjC -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6.1 -framework SystemConfiguration -framework MapKit -framework QuartzCore -framework OpenGLES -lz -licucore -lc++ -framework ImageIO -framework GLKit -framework CoreText -framework CoreLocation -framework AVFoundation -framework CoreData -framework UIKit -framework Foundation -framework CoreGraphics -framework GoogleMaps -Xlinker -dependency_info -Xlinker /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Intermediates/Your\ App.build/Debug-iphoneos/Your\ App.build/Objects-normal/armv7s/Your\ App_dependency_info.dat -o /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos/Your\ App.app/Your\ App
ld: file is universal (2 slices) but does not contain a(n) armv7s slice: /Users/macmini/Documents/Your App/GoogleMaps.framework/GoogleMaps file '/Users/macmini/Documents/Your App/GoogleMaps.framework/GoogleMaps' for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Xcode が行った自動変更を元に戻すと、アプリは再び iPhone 5 用に正常にコンパイルされましたが、もちろん警告が返されました。
iPhone 5 でアプリを正常にビルドできるようにしながら、Xcode を満足させ、警告を取り除くにはどうすればよいですか?