1

私は3つのプロジェクトを持っています:

  • 私のカスタム開発フレームワーク「XXX.framework」(サードパーティの「YYY.framework」に依存しています)。両方のフレームワークには、実際のデバイスとシミュレーターのバージョンが異なるため、構築するアーキテクチャが異なります。
  • Objc-C 'DemoObjC.app' と Swift 'DemoSw.app' の 2 つのデモ アプリは、'XXX.framework' を使用します。

カスタム 'XXX.framework' を、別々にビルドして正常に実行する 2 つのデモ アプリにリンクしました。

しかし、3 つのプロジェクトをワークスペースに埋め込んで、すべてのプロジェクトを 1 つのウィンドウで同時に作業すると、奇妙な動作に直面します。デバイスまたはシミュレーターでアプリを実行できないことがあります。つまり、ビルドして正常に実行されることもありますが、何も変更しないと失敗することがあります。または、シミュレーターでは正常に実行できますが、実際のデバイスでは実行できませんが、XCode の再起動後、デバイスでは実行できてもシミュレーターでは実行できない場合があります。プロジェクトのクリーンアップ、DerivedData の削除、XCode の再起動、および再起動を試みましたが、数回の実行が成功した場合にのみ役立ち、その後も予期しない動作が発生します。

たとえば、ワークスペースでデバイスで「DemoObjC.app」を実行しようとすると、

ld: warning: ignoring file /Path_Here/SIMULATOR/YYY.framework/YYY, 
missing required architecture arm64 in file /Path_Here/SIMULATOR/YYY.framework/YYY, (2 slices)
Undefined symbols for architecture arm64:
<List of files that can't be find>

デバイスで実行すると SIMULATOR で失敗する理由がわかりません。別々のプロジェクトが正常にビルドおよび実行されるため、プロジェクトとターゲットは適切に構成されているようです。

または、シミュレーターで実行しようとするとエラーが発生します:

ignoring file /Path_Here/NOT_A_SIMULATOR/YYY.framework/YYY, 
missing required architecture x86_64 in file /Path_Here/NOT_A_SIMULATOR/YYY.framework/YYY (2 slices)
Undefined symbols for architecture x86_64:

XCode 8.2 と 8.2.1 の同じ問題

何が間違っているのですか?私はそれがXCode関連の問題であることに傾いています。

4

0 に答える 0