1. ホーム
  2. ios

[解決済み] ファイルはユニバーサル(3スライス)ですが、iOSの静的ライブラリのための(n)ARMv7-sスライスエラーが含まれていない、どうにかして回避するには?

2022-03-23 11:21:52

質問

アップグレード Xcode のバージョンで、外部の静的ライブラリを使用すると、このメッセージが表示されます。

ld: ファイルはユニバーサル(3スライス)ですが、armv7s スライスが(n)個含まれていません。アーキテクチャ armv7s 用の /file/location clang: error: linker command failed with exit code 1 (use -v to see invocation) リンカーのコマンドは終了コード1で失敗しました。

ライブラリの開発者がまだライブラリを更新していない場合、これを回避してサポートを追加する方法はないのでしょうか?

解決方法は?

任意のアーキテクチャのサポートを解除したい場合など。 ARMv7-s を使用すると、メニュー プロジェクト -> ビルド設定 -> アーキテクチャを "valid architectures" から削除します。

ライブラリが更新されるまでの一時的な解決策として使用することができます。ライブラリからではなく、メインプロジェクトからアーキテクチャを削除する必要があります。

または、デバッグ構成の "Build Active Architecture Only" のフラグを Yes に設定することも可能です。リリース設定の "Build Active Architecture Only" は No のままにしておくと、リリース前に、使用しているサードパーティライブラリをアップグレードする必要があるというリマインダーが表示されるからです。