Compilation error using Parse and Facebook Frameworks in Xcode 6.3 (Swift)

I am trying to integrate the Parse and Facebook SDK with my application using Xcode 6.3 and getting these errors when trying to build:

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 do not know what this means, but I have tried many other solutions, such as cleaning, deleting the Derived Data folder, checking all my frameworks, and I still can not solve the problem. If anyone knows how to fix this, I would be very grateful. Thank you for your time.

Edit This is the Bridging-Header.h that I use:

 #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> 

This is the AppDelegate.swift file:

 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() } 

I dragged the latest versions of the SDK Framework and Parse and Facebook into my project and added the necessary additional Framework (including libsqlite3.dylib and libz.dylib) through the "Linking binary files to libraries" tab in the "Phase Assembly" section

I hope this additional information is helpful.

+6
source share
3 answers

After updating Parse to version 1.7.4, this problem is fixed. Hope this helps other people who are facing the same issue as me!

0
source

I also had the same problem. In my mine, Facebook sdk 4.1. These were my steps: -

1) Go to build settings

2) Enter other linker flags . and since I use target C., so I clicked on it and add two new values. first -ObjC , and the second $ (inherited) . After adding these two values, your other linker flags will display as -ObjC -ObjC - | "Pods -...... kind of. I use cocapods.

3) now enter โ€œAllow non-modular inclusion in Framework modulesโ€ and use the value YES.

4) then enter Enable Modules (C and Objective-C), and this should be YES.

and clean and create your project. If it still doesn't work for you, please check your binary link libraries. In My Mine, it's a framework.

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

Please, try. Thanks.

+9
source

What fixed issue was adding Facebook frameworks to related structures and libraries. Please note that this was not included in the Facebook registration documentation.

0
source

Source: https://habr.com/ru/post/985478/


All Articles