2015-04-20 4 views
6

Ich versuche Parse und Facebook-SDK mit meiner App Xcode 6.3 und bin immer um diese Fehler zu integrieren, wenn aufzubauen versucht:Compile Fehler mit Parse und Facebook Frameworks in Xcode 6.3 (Swift)

Undefined symbols for architecture x86_64: 
    "_OBJC_CLASS_$_FBSDKAppEvents", referenced from: 
     __TMaCSo14FBSDKAppEvents in AppDelegate.o 
    "_OBJC_CLASS_$_FBSDKApplicationDelegate", referenced from: 
     __TMaCSo24FBSDKApplicationDelegate in AppDelegate.o 
    "_OBJC_CLASS_$_PFAnalytics", referenced from: 
     __TMaCSo11PFAnalytics in AppDelegate.o 
    "_OBJC_CLASS_$_PFFacebookUtils", referenced from: 
     __TMaCSo15PFFacebookUtils in AppDelegate.o 
    "_OBJC_CLASS_$_Parse", referenced from: 
     __TMaCSo5Parse in AppDelegate.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

I Ich weiß nicht, was das bedeutet, aber ich habe viele andere Lösungen ausprobiert, wie zum Beispiel das Säubern, das Löschen des Abgeleiteten Datenordners, das Überprüfen aller meiner Frameworks, und ich kann das Problem immer noch nicht lösen. Wenn jemand eine Idee hat, wie das zu beheben ist, wäre ich sehr dankbar. Vielen Dank für Ihre Zeit.

bearbeiten Dies ist die Bridging-header.h, die ich verwende:

#import <AFNetworking.h> 
#import <BDBOAuth1RequestOperationManager.h> 
#import <NSDictionary+BDBOAuth1Manager.h> 
#import <UIImageView+AFNetworking.h> 
#import <UIScrollView+SVInfiniteScrolling.h> 
#import <FBSDKCoreKit/FBSDKCoreKit.h> 
#import <FBSDKLoginKit/FBSDKLoginKit.h> 
#import <FBSDKShareKit/FBSDKShareKit.h> 
#import <Parse/Parse.h> 
#import <ParseCrashReporting/ParseCrashReporting.h> 
#import <ParseFacebookUtilsV4/PFFacebookUtils.h> 
#import <Bolts/Bolts.h> 

Dies ist die AppDelegate.swift Datei:

import UIKit 
import CoreData 
import Parse 
import FBSDKCoreKit 
import FBSDKLoginKit 
import Bolts 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

var window: UIWindow? 

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // Override point for customization after application launch. 
    UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true) 

    // Type casting in swift is "as Type", you'll need to unwrap optionals however. 
    let tabBarController = self.window!.rootViewController as! UITabBarController 
    let tabBar = tabBarController.tabBar as UITabBar 

    // I prefer to use 0 based labels since the array is 0 based 
    let tabBarItem0 = tabBar.items![0] as! UITabBarItem 
    let tabBarItem1 = tabBar.items![1] as! UITabBarItem 
    let tabBarItem2 = tabBar.items![2] as! UITabBarItem 

    // The UIColor method you are using is an initializer in swift 
    tabBar.tintColor = UIColor(red: 62.0/255.0, green: 191.0/255.0, blue: 180.0/255.0, alpha: 1.0) 

    // UIImage also has an initializer for your situation in swift 
    tabBarItem0.selectedImage = UIImage(named: "Discover TabBar Select.pdf") 
    tabBarItem1.selectedImage = UIImage(named: "Me TabBar Select.pdf") 
    tabBarItem2.selectedImage = UIImage(named: "Settings TabBar Select.pdf") 

    //Facebook SDK Setup 
    FBSDKApplicationDelegate.sharedInstance() 
    Parse.setApplicationId("HxjVTJZ2rZA6qFBl0Xaji9z12HYQmTFPIXhVcfPp", clientKey:"8FJT7KHSmDPZi1AtpFS1GvTw39qevvB0JuimwWdS") 

    if let launchOptions = launchOptions { 
     PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) 
    } else { 
     PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions([NSObject:AnyObject]()) 
    } 

    // [Optional] Power your app with Local Datastore. For more info, go to 
    // https://parse.com/docs/ios_guide#localdatastore/iOS 
    Parse.enableLocalDatastore() 

    // [Optional] Track statistics around application opens. 
    PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions) 

    return true 
} 

func applicationDidBecomeActive(application: UIApplication) { 
    // Restart any tasks that were paused (or not yet started) while the  application was inactive. If the application was previously in the background, optionally refresh the user interface. 
    FBSDKAppEvents.activateApp() 
} 

ich die neueste Parse gezogen und Facebook SDK Frameworks in mein Projekt und hinzugefügt die erforderlichen zusätzlichen Frameworks (einschließlich der libsqlite3.dylib und libz.dylib) über die Registerkarte "Link Binary mit Bibliotheken" unter dem Abschnitt "Build-Phasen"

Ich hoffe, dass diese zusätzliche Information nützlich ist.

+0

Können Sie uns den Code bereitstellen, den Sie erstellen möchten? – MattG

+0

@MattG Ich habe meine Frage aktualisiert, und ich schätze Ihre Hilfe – Armin

+0

@Armin haben Sie dieses Problem behoben? –

Antwort

0

Nach Parse auf Version 1.7.4 aktualisieren, dieses Problem selbst behoben. Hoffentlich hilft das anderen Menschen, die das gleiche Problem hatten wie ich!

8

Ich hatte auch das gleiche Problem. In meiner Mine, Facebook SDK 4.1. Das waren meine Schritte: -

1) Gehen Sie Einstellungen zum Aufbau

2) Typ anderen Linker-Flags. und da ich Ziel C verwende, habe ich darauf geklickt und zwei neue Werte hinzugefügt. erste ist -ObjC und zweite ist $ (vererbt). Nach der Zugabe würden diese beiden Werte Ihre anderen Linker-Flags zeigen als -ObjC -ObjC sein - | "Pods -...... so etwas wie, wie ich bin mit cocapods

3) jetzt eingeben.." Allow Non -modular Includes in Framework Modules "und verwenden Sie den YES-Wert.

4) Geben Sie dann" Enable Modules (C und Objective-C) ein und es sollte JA sein.

und sauber und bauen Sie Ihr Projekt. Wenn es immer noch nicht für Sie funktioniert, überprüfen Sie bitte Ihre Link Binary Libraries. In My Mine sind dies Frameworks.

Accounts.framework 
AddressBook.framework 
Foundation.framework 
CFNetwork.framework 
GoolgeMaps.Framework 
Social.framework 
CoreData.framework 
QuartzCore.framework 
Security.framework 
CoreLocation.framework 
CoreGraphics.framework 
UIKit.framework 

Bitte versuchen Sie es Dank

+1

Ich habe versucht, Ihre Anweisungen zu befolgen und habe 45 weitere Fehler – Armin

+0

WOW! Es funktionierte. Ich sah eine lange Zeit für die Antwort zu diesem. Du solltest 100+ Stimmen bekommen :-) –

0

Was mein Problem behoben, war das Hinzufügen der Facebook-Frameworks zu verknüpften Frameworks und Bibliotheken. Beachten Sie, dass dies nicht in der Facebook-Login-Dokumentation enthalten war.

Verwandte Themen