xcode 8.3 framework not found FileProvider for arc

2019-01-24 01:52发布

问题:

When I'm using xcode 9 beta 6 building a react-native project, it works fine.

But after I change to xcode 8.3, it builds failed, and shows me these information:

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)

How could I do if I use xcode 8.3 to develop ? I'm not able to use xcode 9 because of this: Xcode was crashed after adding ART.xcodeproj into Library

Thanks to all bros : )

回答1:

FileProvide framework is only available in Xcode 9. You need to download and install Xcode 9 manually if you want to continue working on Xcode 8 environment,

I get this error too after updating my framework via cocoapods:

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

You need to copy the FileProvider framework from Xcode 9 into the directory of Xcode 8.

  1. Download the Xcode 9 release version here.
  2. After install, go to Application folder, right click on the Xcode9.app, select Show Package Contents.
  3. Go to this directory:

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

  4. Copy the FileProvider.framework, and paste into the same directory of Xcode8.app.
  5. Restart your Xcode8, clean your project and rebuild it.


回答2:

One way to fix this is to go to:

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

and put FileProvider.framework to your project (such as copy, paste, then drag and drop to Project's Frameworks Group).

Then wait until XCode 9 is released and remove it.

Edit: There is a problem with this approach though, the app ran on iOS < 11 will crash because the binary for FileProvider won't be found.

To work around this problem:

  • add FileProvider.framework to your project on XCode 8.x

  • link binary with libraries

  • then unlink it.

the project should build without problem now.



回答3:

And when you build with simulator, you should copy the FileProvider.framework into

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



回答4:

I also have this problem, and I solved it by clean and rebuild project.



回答5:

Try to restart your computer and clean derived data.