web-dev-qa-db-ja.com

xcode 8.3フレームワークが見つかりませんアーキテクチャarmv7のFileProvider

反応ネイティブプロジェクトをビルドするxcode 9 beta 6を使用しているとき、それはうまく機能します。

しかし、xcode 8.3に変更した後、ビルドは失敗し、次の情報が表示されます。

ld: framework not found FileProvider for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Apple Mach-O Linker (ld) Error Group
: Linker command failed with exit code 1 (use -v to see invocation)

Xcode 8.3を使用して開発する場合、どうすればよいですか?このため、xcode 9を使用できません。 ART.xcodeprojをライブラリに追加した後にXcodeがクラッシュしました

すべての仲間に感謝します:)

16
Ci Kai

FileProvideフレームワークはXcode 9でのみ使用可能です。Xcode 8環境での作業を継続する場合は、Xcode 9を手動でダウンロードしてインストールする必要があります。

Cocoapods経由でフレームワークを更新した後もこのエラーが発生します。

ld: framework not found FileProvider for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

FileProviderフレームワークをXcode 9からXcode 8のディレクトリにコピーする必要があります。

  1. Xcode 9リリースバージョンをダウンロードします こちら
  2. インストール後、アプリケーションフォルダーに移動し、Xcode9.appを右クリックして、パッケージの内容を表示を選択します。
  3. 次のディレクトリに移動します:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

  4. FileProvider.frameworkをコピーし、Xcode8.appの同じディレクトリに貼り付けます。
  5. Xcode8を再起動し、プロジェクトをクリーンアップして再構築します。
22
felixwcf

これを修正する1つの方法は、次の場所に移動することです。

/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

fileProvider.frameworkをプロジェクトに配置します(コピー、貼り付け、プロジェクトのFrameworksグループへのドラッグアンドドロップなど)。

次に、XCode 9がリリースされるまで待ってから削除します。

編集:このアプローチには問題がありますが、FileProviderのバイナリが見つからないため、iOS <11で実行されたアプリはクラッシュします。

この問題を回避するには:

  • xcode 8.xのプロジェクトにFileProvider.frameworkを追加します

  • バイナリをライブラリにリンクする

  • その後、リンクを解除します。

プロジェクトは問題なくビルドされるはずです。

6
EwyynTomato

そして、シミュレータでビルドするとき、FileProvider.framework

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

5
Leo_Lee

私もこの問題を抱えており、プロジェクトをクリーンおよび再構築することで解決しました。

2
zenone