1

I FBSDKCoreKit, FBSDKLoginKit und FBSDKShareKit durch das SDK ~/Documents/FacebookSDK Herunterladen und dann Ziehen der Rahmen in die Frameworks Ordner in XCode installiert haben. Ich habe die Option überprüft, die Dateien bei Bedarf zu kopieren, damit sie im Projekt angezeigt werden.Reagieren india FBSDK Datei nicht auf CI gefunden

Ich habe dann den richtigen Rahmen Suchpfad ~/Documents/FacebookSDK

Gebäude vor Ort funktioniert gut, aber nicht aufbauend auf Bitrise (CI) mit dem Fehler:

/Users/vagrant/git/node_modules/react-native-fbsdk/ios/RCTFBSDK/share/RCTFBSDKShareDialog.h:21:9: 'FBSDKShareKit/FBSDKShareKit.h' file not found

Der Rahmen auch Suchpfad enthält $(PROJECT_DIR) die sollte die Frameworks in appname/Frameworks/ finden, aber ich kann nicht scheinen, diesen Fehler nicht gefunden zu beheben.

Antwort

2

Ich lief in dieses Problem BuddyBuild (ein anderes CI-System) verwendet wird, und löste es über die auf ihre Dokumentation Seite verlinkt Anweisungen hier http://docs.buddybuild.com/docs/common-react-native-errors#section-error-fbsdksharekit-fbsdksharekit-h-file-not-found, diesen Abschnitt insbesondere:

error: 'FBSDKShareKit/FBSDKShareKit.h' file not found

This is generally a result of an incorrectly configured repository with regards to the location of FBSDK dependencies. If you take a look at: https://github.com/facebook/react-native-fbsdk/blob/master/ios/RCTFBSDK.xcodeproj/project.pbxproj

You will notice that RCTFBSDK will look for dependencies in one of two locations:

  • ~/Documents/FacebookSDK
  • $(PROJECT_DIR)/../../../ios/Frameworks

The second option is the correct option for continuous integration systems like Buddybuild. In other words, you MUST place your FBSDK dependencies under the "ios/Frameworks" folder in order for it to work on a continuous integration system.

Das Problem ist, dass Viktor zeigte Da das CI-System keinen Verweis auf den Ordner FacebookSDK mit den erforderlichen Frameworks enthält, müssen Sie die Frameworks selbst in Ihr Projekt selbst kopieren, damit alles in Ihrem Repository enthalten ist. Dies ist notwendig, da die Bibliothek RCTFBSDK erwartet, dass sie die benötigten Frameworks genau in dem Ordner $PROJECT_ROOT/ios/Frameworks in Ihrem Projekt findet (siehe BuddyBuild-Dokumentation), und wenn sie woanders sind, wird sie ausflippen.

Aus Gründen der Übersichtlichkeit die Schritte, die ich waren nahm, um meine Build zu erhalten arbeiten:

  • Erstellen Sie den Ordner $PROJECT_ROOT/ios/Frameworks in meinem Projekt (Frameworks nicht bereits vorhanden)
  • Kopieren Sie die Facebook-Framework-Dateien von ~/Documents/FacebookSDK in diese neuer Ordner
  • Verweis auf die Frameworks in Xcode gemäß den Installationsanweisungen auf der fbsdk Github-Seite.

Ich hoffe, dass dies jedem zukünftigen Leser hilft.