0

私はiOS開発にまったく慣れておらず、レガシーアプリをiOS6に更新するタスクを与えられています。アプリはUnityで構築されました。XCode 4.5では、デバイス(iPhone 4)でUnity-iPhoneアプリを実行しようとすると、次のエラーが発生します。

Xcode cannot run using the selected device.
Choose a destination with a supported architecture in order to run on this device.

ターゲットのビルド設定に移動すると、armv6がアーキテクチャと有効なアーキテクチャに設定されていることに気付きました。これらの設定を両方ともStandard(armv7、armv7s)に変更しました。プロジェクトを実行しようとすると、次のような104個のコンパイラエラーが発生しました。

Undefined symbols for architecture armv7:
  "ForceInclude_BaseBehaviourManager()", referenced from:
      RegisterManagerClasses() in RegisterClasses.o

したがって、適切なフレームワークをプロジェクトにインポートするだけではありません。これらはすべて、ソースファイルの1つに含まれるメソッドです。armv7に対してどのようにそれらを未定義にすることができますか?また、この問題をどのように解決しますか?

4

3 に答える 3

1

注: デバイスでアプリを実行するには、デバイスの IOS バージョンが IOS DEPLOYEMENT TARGET と一致する必要があります。以下の画像を参照してください。

デバイスの IOS で IOS DEPLOYEMENT TARGET を変更するだけです。

プロジェクトを選択->情報を選択(タブ)->ドロップダウンボックスからIOS展開ターゲットを選択

ここに画像の説明を入力

また、注 :Xcode 4.5 (およびそれ以降) は、armv6 バイナリの生成をサポートしていません。

于 2013-01-17T09:42:00.203 に答える
0

使用しているUnityエンジンのバージョンはわかりませんが、armv7をサポートしていますか?

サポートされておらず、armv6のみをサポートしている場合は、Xcode 4.5がこれを行わないため、armv6バイナリをコンパイルするコンパイラを使用するようにXcodeバージョンをダウングレードする必要があります。

armv7をサポートするバージョンのUnityを使用している場合は、最小デプロイメントバージョンをiOS4.3に設定する必要があります

于 2012-11-06T12:29:41.560 に答える
0

アーキテクチャ armv6 と armv7 を試し
て、プロジェクト
ビルドを再度クリーンアップします。

于 2012-12-31T10:07:30.277 に答える