Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

xcode 8.3 framework not found FileProvider for architecture armv7

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 : )

like image 293
Ci Kai Avatar asked Sep 01 '17 06:09

Ci Kai


4 Answers

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.
like image 141
felixwcf Avatar answered Nov 12 '22 08:11

felixwcf


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.

like image 37
EwyynTomato Avatar answered Nov 12 '22 07:11

EwyynTomato


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/

like image 5
Leo_Lee Avatar answered Nov 12 '22 07:11

Leo_Lee


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

like image 2
zenone Avatar answered Nov 12 '22 08:11

zenone