web-dev-qa-db-de.com

Fehler beim Erstellen: Die Datei FBSDKShareKit.h wurde nach dem Upgrade auf Xcode 10 nicht gefunden

Ich baue eine App, die native Reaktives verwendet, die FBSDK (React-native-fbsdk) verwendet. Das Ganze funktionierte ohne Probleme, aber nachdem ich meinen Xcode von 9.4 auf 10.0 aktualisiert habe, kann ich das Projekt aufgrund eines Fehlers nicht mehr erstellen:

Datei 'FBSDKShareKit/FBSDKShareKit.h' nicht gefunden

Ich habe eine Reihe von Fragen gefunden, die das gleiche Problem zu haben scheinen und ihren Vorschlag ausprobiert haben, aber immer noch nicht erfolgreich aufgebaut werden können. Dinge, die ich ausprobiert habe:

  1. Hinzufügen von ~/Documents/FacebookSDK zum Suchpfad des Frameworks 
  2. Stellen Sie sicher, dass sich FBSDK [Core, Share, Login] Kit.framework und libRCTFBSDK.a in Link Binary with Libaries befinden
  3. Mit "rm -rf ~/Library/Developer/Xcode/DerivedData" zum Bereinigen der Daten wurde ein erneuter Versuch inbuild unternommen
  4. Wenn Sie die Frameworks aus dem FacebookSDK-Ordner entfernen, fügt sie diese erneut hinzu

Zu diesem Zeitpunkt bin ich nicht sicher, was ich sonst noch versuchen sollte. Das seltsamste ist, dass es vor dem Update von Xcode funktionierte. Bedeutet dies, dass sich Xcode selbst geändert hat, was dies verursacht hat? 

Hat jemand eine Idee oder ist mit diesem Problem konfrontiert worden?

BEARBEITEN: Es ist mir gelungen, das Projekt erfolgreich zu erstellen, indem das Build System von New Build System in Legacy Build System geändert wurde. Die App läuft jetzt (vielleicht hat sich etwas in der Art und Weise geändert, in der Xcode jetzt Projekte erstellt, die mit dem aktuellen fbsdk nicht kompatibel sind?)

7
rabbit87

Ich habe es schließlich geschafft, das Projekt zu erstellen, während das Build System durch Hinzufügen in New Build System festgelegt wurde 

$ (PROJECT_DIR) /../../../ ios

in RCTFBSDKs (Ziel) Framework-Suchpfade. 

Meine Vermutung ist das; Da sich die .frameworks-Datei im Ordner ios anstelle von ios/Frameworks befindet, kann das Projekt die erforderliche Datei nicht finden. (Warum es funktioniert, wenn ich Legacy Build System verwendet habe, ist mir immer noch ein Rätsel).

Ich habe sowohl im Emulator als auch im Gerät getestet. Beides scheint gut zu funktionieren.

10
rabbit87

Was für mich funktioniert hat:

Ich habe im Ordner "IOS" einen Ordner " Frameworks " erstellt und die gesamte Fdsdk-Datei in diesen Ordner verschoben.

Dann musste ich FBSDK [Core, Share, Login] Kit.framework und libRCTFBSDK.a aus "Link Binary with Libraries" entfernen (Sie können darauf in Ihrem Projekt zugreifen und dann Phasen erstellen) und dann die 3 FBSDK [Core, Share, Login] hinzufügen. Kit.framework erneut aus dem Frameworks Ordner + libRCTFBSDK.a

Ich habe den Ordner derivativeData gesäubert

rm -rf ~/Library/Developer/Xcode/DerivedData

Dann war der Build mit dem neuen Buildsystem erfolgreich.

Hoffe, das kann anderen Menschen helfen.

Vielen Dank @ rabbit87 und @kalid für ihre Hilfe

4
Pierre

Für jeden, der immer noch Probleme mit diesem Problem hat, funktionierte für mich nicht nur, dass Sie die Framework-Suchpfade vom Hauptprojekt aus ändern müssen, sondern Sie müssen den Pfad innerhalb von RCTFBSDK.xcodeproj selbst ändern, das sich in den Bibliotheken befindet Mappe.  enter image description here

0
conchimnon