19

最近、開発用の MacBook を従来の MacBook (32 ビット) から MacBook Air (64 ビット) に切り替えました。XCode 4 を実行している古い MacBook (32 ビット) で作成されたプロジェクトを開こうとしています。

このプロジェクトは、PhoneGap 1.7.0 で作成された PhoneGap アプリケーションです。

私の新しい MacBook Air (64 ビット) は XCode 5 を実行しています。

古い MacBook から新しい MacBook Air に開発者プロファイルをインポートしました。しかし、実行しようとすると、次のエラー メッセージが表示されます。

ここに画像の説明を入力

ここに画像の説明を入力

ビルド設定のアーキテクチャをarmv7に変更しようとしましたが、まだうまくいきません:(

このエラーが発生する理由と修正方法を知っている人はいますか?

ありがとう

4

2 に答える 2

26

私のアプリケーションがarmv7をサポートしていない場合、XCode 5はデフォルトのアーキテクチャをarmv7に変更します。Cordova 1.7.0 を実行していますが、そのバージョンは armv7 アーキテクチャをサポートしていません。

アーキテクチャの問題を修正:

  1. --> からすべてのアーキテクチャを削除Build SettingsValid Architecture
  2. -->armv6に追加Build SettingsValid Architecture ここに画像の説明を入力


問題を修正libSystem.B.dylib:

  1. --> -->/usr/lib/libSystem.B.dylibから削除Build SettingsLinkingOther Linker Flags

  2. --> -->-weak_libraryからも削除Build SettingsLinkingOther Linker Flags ここに画像の説明を入力

于 2013-11-04T14:45:37.983 に答える
1

Xcode 5 では、シミュレーター (1) および iOS (2) 用のライブラリーをビルドするよう求められます。次に、(3) これらをファット バイナリにマージして、メイン プロジェクトにリンクします。Xcode がメイン プロジェクトのビルドに使用しているものと同じフラグを使用します (スクリーン ダンプに表示されているように)。

私が行う一般的なgnuツールチェーン変数で表現されます:

1.シミュレータ用ライブラリの構築

CC=clang
IPHONEOS_DEPLOYMENT_TARGET=7.0
PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
CFLAGS="-arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -mios-simulator-version-min=7.0"

2. iOS 用ライブラリの構築

CC=clang
IPHONEOS_DEPLOYMENT_TARGET=7.0
PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
CFLAGS="-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -miphoneos-version-min=7.0"

3. ファット バイナリへのマージ

使用するものに応じて、.aまたは次のいずれかを選択します。.dylib

lipo -create "your armv7 lib".a     "your simulator lib".a     -output "your lib".a
lipo -create "your armv7 lib".dylib "your simulator lib".dylib -output "your lib".dylib
于 2013-11-01T13:36:15.540 に答える