プロジェクトの 1 つで静的ライブラリを使用すると、このエラーが発生します。プロジェクトは iOS デバイスでうまく動作します。しかし、シミュレーターではありません。スタティック ライブラリは私のものではないため、i386 用に再コンパイルできません。ただし、これは iPhone 用のハードウェア ドライバーです。そのため、シミュレーターで実行する場合、このライブラリは本当に必要ありません。アクセサリがデバイスに存在する場合、アプリのフローは異なります。
したがって、このファイルへの参照を保持する必要があります。ただし、iOS デバイスでのみ必要です。UI やその他のテスト目的でアプリを実行するためにシミュレーターで実行する場合は必要ありません。
このエラーを回避するにはどうすればよいですか? シミュレーターでの実行時にオブジェクト ファイル/ライブラリを回避するために、ターゲットまたはスキームを構成する方法はありますか?
ld: warning: ignoring file
/Framework/iSmartSDK/libiSmartSDK_Lib.a, missing required architecture i386 in file
/Framework/iSmartSDK/libiSmartSDK_Lib.a (2 slices)
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_iSmart", referenced from:
objc-class-ref in SmartCardReaderVC.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)