Es heißt "FacebookSDK/FacebookSDK.h Datei nicht gefunden"
Ich kann jedoch beim #import zur Definition springen und es bringt mich zur Datei.
Und nachdem ich den #import hinzugefügt habe, weiß er jetzt, was FBFriendPickerDelegate ist, und es hat jetzt keinen Fehler in dieser Zeile.
Ich habe das facebookSDK.framework in meinem Projekt und im richtigen Ordner. Es ist SDK 3.1 . Ich habe versucht, Suchpfade zu/FacebookSDK und /FacebookSDK.framework und/FacebookSDK/Versionen/A/Header usw. hinzuzufügen. Ich habe auch #import "FacebookSDK.framework/Versionen/A/Header/FacebookSDK.h" ausprobiert "und es sagt immer noch, dass es es nicht finden kann. Ich habe auch versucht, sauber und neu zu starten. Ich habe die neueste Version von Xcode.
//
// FacebookView.h
//
#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>
@interface FacebookView : UIViewController <FBFriendPickerDelegate>
{
}
Zunächst müssen Sie Ihr FacebookSDK.framework aus Ihrem Projekt entfernen. Beginnen Sie dann noch einmal mit diesen 5 Schritten. Verbinden Sie das Framework NICHT neu.
Das ist es.
Keine Notwendigkeit, etwas zu entfernen.
In Ihrem Projekt gehen Sie zu: " Build Settings ", dann " Search Paths ". Suchen Sie nach " Frameworks Search Paths ". Sie haben wahrscheinlich etwas wie dieses behoben:
Suchpfade für Frameworks:/Benutzer/john/Documents/exampleappxyz
Ändern Sie es in:
Suchpfade für Frameworks: $ (PROJECT_DIR)
Voila !.
Ich habe es versucht, aber es funktionierte nicht für mich. Ich musste für das Projekt in die Build-Einstellungen gehen und den FacebookSDK Framework Search Paths
manuell korrigieren, um das FacebookSDK zu finden.
Ok Leute, ich glaube ich habe die Antwort bekommen. Befolgen Sie die unten angegebenen Schritte.
$(PROJECT_DIR)/project_name/Resources/Frameworks
Gehen Sie nun zu Build-Einstellungen → Suchpfade → Framework-Suchpfad und stellen Sie sicher, dass die folgenden zwei Dinge vorliegen.
(a) $(inherited)
(b) $(PROJECT_DIR)/project_name/Resources/Frameworks.
Um nicht daran zu erinnern, dass das Framework im Ordner Frameworks
vorhanden ist
Hoffe, es funktioniert. Bitte denken Sie daran, keine Ordnernamen mit Leerzeichen zu belassen. Wenn Sie sie behalten haben, stellen Sie sicher, dass Sie die richtigen Escape-Zeichen eingeben.
So entfernen Sie Facebook-SDK-Links:
Für diejenigen, die wie ich unsachgemäß die Facebook-SDK hinzugefügt haben. um das Facebook-SDK aus Ihrem Projekt zu entfernen,
Überprüfen Sie den Link in Ihrem Framework-Ordner und löschen Sie alle Facebook-SDK-Links
gehen Sie zu Build Phases -> Link Binary With Libraries und löschen Sie alle Facebook-Sdk
Klicken Sie mit der rechten Maustaste auf den Ordner "Frameworks" und wählen Sie "Im Finder anzeigen", und löschen Sie alle Facebook-SDKs
Folgen Sie nun den Schritten von "Fede Cugliandolo" und fügen Sie die Facebook-SDK hinzu
Ich habe dieses Problem heute bekommen.
Es stellt sich heraus, dass ich meinen Framework-Suchpfad an allen drei Stellen haben muss:
1) Project Build Settings
2) App Target Build Settings
3) UnitTests Target Build Settings
Mein Suchpfad lautet:
/Users/myusername/Documents/FacebookSDK
Nachdem dies sichergestellt ist, ist der Fehler für mich verschwunden.
Die einzige Lösung, die ich gefunden habe, war:
Entfernen Sie das Phonegap-Plugin: ionic plugin rm phonegap-facebook-plugin
Klonen Sie das nächste Plugin git clone: https://github.com/jeduan/cordova-plugin-facebook4.git
Fügen Sie das Plugin manuell hinzu: cordova -d plugin add PATH/cordova-plugin-facebook4 --variable APP_ID = "*****" --variable APP_NAME = "*****"
Vorher wurde versucht, FacebookSDK.framework erneut hinzuzufügen und das phonegap-Plugin facebook durch ein lokal geklontes installiert. Der Fehler wird jedoch weiterhin angezeigt.
Folgen Sie einfach diesen Schritten:
Befolgen Sie die Anweisungen In Schritt 4 Konfigurieren Sie Ihr Xcode-Projekt Ich denke, Sie vermissen etwas. Löschen Sie die Facebook.sdk in Ihrem Projekt und versuchen Sie es erneut.
Sie müssen die Eigenschaft "Framework-Suchpfad" in Ihren Build-Einstellungen ändern und angeben, wo sich die Datei "FacebookSDK.framework" befindet (Sie können dann die SRCROOT-Variable verwenden, um auf das Stammverzeichnis Ihres Projektverzeichnisses zu verweisen, und vermeiden Sie daher die Verwendung von absolute Pfade;)) zB :
$(SRCROOT)/SampleProject/src/Utils/Facebook/
dies wird normalerweise automatisch von Xcode durchgeführt, wenn Sie ein Drittanbieter-Framework importieren. Dies kann jedoch manchmal Probleme verursachen (z. B. wenn Sie Ihren Projektverzeichnisbaum ändern).
Hoffentlich hilft das...
Keine der obigen Antworten funktionierte für mich.
Der letzte Trick für mich war, die Struktur des Plugin-Ordners zu ändern:
Ordner erstellen: com.phonegap.plugins.facebookconnect/FacebookSDK
Kopieren Sie den gesamten Inhalt von: com.phonegap.plugins.facebookconnect/FacebookSDK.framework/Headers
zu com.phonegap.plugins.facebookconnect/FacebookSDK
com.phonegap.plugins.facebookconnect/Facebook.framework
in com.phonegap.plugins.facebookconnect/FacebookSDK
kopieren
Und zum Schluss ändern
#import <FacebookSDK/FacebookSDK.h>
zu
#import "FacebookSDK/FacebookSDK.h"
Ich hatte das gleiche Problem, als ich XCode aktualisiert habe, aber in meinem Fall wollte ich keine manuellen Änderungen an den Projekteinstellungen vornehmen, da ich CMake dazu verwende. Wie ich es behoben habe, findest du hier: https://stackoverflow.com/a/25564152/525873
Ich benutze xcode 5 und wenn Sie sdk hinzufügen, schreiben Sie die Adresse in "project.pbxproj" nicht korrekt.
Statt der lokalen Adresse für SDK speichern Sie die globale Adresse.
Ich öffne "project.pbxproj" und finde die Orte davon und lasse die Adresse nur für sdk in project.
<project name>/src/external/facebook
<project name>/src/external/testflight
um den Eintrag zu bearbeiten, war wie folgt
/Users/<user Name>/myProjects/.../ios/<project name>/src/external/facebook
Dies ist der Fall, wenn Sie die facebookSDK zweimal importiert haben und einige Dateien gelöscht haben.
Ich habe zum Beispiel die facebookSDK in $ project/framework importiert, aber aus einigen Gründen gelöscht. Dann habe ich es über ~/Documents/FacebookSDK importiert, aber Xcode hat den alten Ordner beibehalten und standardmäßig darin gesucht.
Ich muss alle Verweise und Dateien des alten Imports entfernen, um mein Problem zu beheben.
Am Ende habe ich mein Projektverzeichnis überprüft und alte Verweise auf die Framework-Datei entfernt. Entfernen Sie es dann aus den Erstellungsphasen/Suchpfaden. Entfernen Sie auch das verknüpfte Framework. Starten Sie Xcode neu und führen Sie den Vorgang erneut aus: Ziehen Sie Framework in Frameworks, kopieren Sie es nicht. Überprüfen Sie die Erstellungsphasen/Suchpfade. enthalten "#import". Endlich gearbeitet. Wütend.
neben dem Hinzufügen des Suchpfads musste ich auch die Pfade auf rekursiv setzen und "* .framework" aus der Option "Sub Directories to Exclude" entfernen, damit dies funktioniert.
es ist ganz einfach: Sie müssen Ihr FacebookSDK.framework aus Ihrem Projekt entfernen.
Klicken Sie in "Link Binary With Libraries" auf die Schaltfläche "+". Klicken Sie auf die Schaltfläche "Weitere hinzufügen". Durchsuchen Sie Ihren FacebookSDK-Ordner. Im Allgemeinen in ~/mohit/Documents/FacebookSDK / Klicken Sie auf "facebookSDK.framework" und wählen Sie "Öffnen".
Kopieren Sie nun diesen Zieleinstellungen> Framework-Suchpfad in Projekteinstellungen> Framework-Suchpfad.