链接器错误尝试使用Facebook SDK与Parse

时间:2015-04-15 09:29:43

标签: ios parse-platform

我已经看到类似的问题,但找不到答案。我需要将Facebook SDKParse一起使用。我使用的是最新的Parse SDK和最新的Facebook SDK。我已经按照Parse.com上的说明非常密切地使用Facebook与Parse,这意味着我已将Parse AND Bolts框架拖入我的项目中。
当我构建项目时,我收到链接错误:

  

架构x86_64的未定义符号:     " _FBTokenInformationExpirationDateKey",引自:          - ParseFacebookUtils中的[PFFacebookTokenCachingStrategy cacheTokenInformation:](PFFacebookTokenCachingStrategy.o)          - ParseFacebookUtils中的[PFFacebookTokenCachingStrategy expirationDate](PFFacebookTokenCachingStrategy.o)          - ParseFacebookUtils中的[PFFacebookTokenCachingStrategy setExpirationDate:](PFFacebookTokenCachingStrategy.o)     " _FBTokenInformationTokenKey",引自:          - ParseFacebookUtils中的[PFFacebookTokenCachingStrategy accessToken](PFFacebookTokenCachingStrategy.o)          - ParseFacebookUtils中的[PFFacebookTokenCachingStrategy setAccessToken:](PFFacebookTokenCachingStrategy.o)     " _FBTokenInformationUserFBIDKey",引自:          - ParseFacebookUtils中的[PFFacebookTokenCachingStrategy facebookId](PFFacebookTokenCachingStrategy.o)          - ParseFacebookUtils中的[PFFacebookTokenCachingStrategy setFacebookId:](PFFacebookTokenCachingStrategy.o)     " _OBJC_CLASS _ $ _ FBAppCall",引自:         ParseFacebookUtils中的objc-class-ref(PFFacebookAuthenticationProvider.o)     " _OBJC_CLASS _ $ _ FBRequest",引自:         ParseFacebookUtils中的objc-class-ref(PFFacebookAuthenticationProvider.o)     " _OBJC_CLASS _ $ _ FBSession",引自:         ParseFacebookUtils中的objc-class-ref(PFFacebookAuthenticationProvider.o)     " _OBJC_CLASS _ $ _ FBSessionTokenCachingStrategy",引自:         ParseFacebookUtils中的_OBJC_CLASS _ $ _ PFFacebookTokenCachingStrategy(PFFacebookTokenCachingStrategy.o)     " _OBJC_METACLASS _ $ _ FBSessionTokenCachingStrategy",引自:         PODFacebookUtils中的_OBJC_METACLASS _ $ _ PFFacebookTokenCachingStrategy(PFFacebookTokenCachingStrategy.o)

   ld: symbol(s) not found for architecture x86_64
   clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已尝试在项目设置下的链接标记中使用-ObjC,但无论如何都没有任何区别。有谁知道我怎么能绕过这个?

我确实看过这篇文章

Parse for iOS: Errors when trying to run the app

但没有任何暗示对我有用(我需要在我的应用程序中使用Facebook功能,所以我无法绕过它,我已经完成了-ObjC标志的事情以及账户和社交框架的事情 - 没有什么可以摆脱我的错误!)

3 个答案:

答案 0 :(得分:37)

我遇到了同样的错误,只需确保从项目中删除ParseFacebookUtils.framework库并仅保留ParseFacebookUtilsV4.framework

答案 1 :(得分:8)

我也有同样的错误。这就是我所做的修复它......

我从项目中删除了所有现有的Parse框架。我从2015年1月开始使用Parse版本1.6.1框架。其中包括:

  • 螺栓
  • 解析
  • ParseCrashReporting
  • ParseFacebookUtils
  • ParseUI

删除后,我下载了最新的Parse SDK(1.7.4),然后将这些框架拖放到我的项目中:

  • 螺栓
  • 解析
  • ParseCrashReporting
  • ParseFacebookUtilsV4< ---注意到V4
  • ParseUI

然后我下载了最新的&最大的FacebookSDK(FacebookSDKs-iOS-20150528.pkg),并将这些框架拖放到我的项目中:

  • FBSDKCoreKit
  • FBSDKLoginKit
  • FBSDKShareKit

现在一切似乎都有效。请注意链接Accounts.framework和Social.framework,我不是使用-ObjC标志。

答案 2 :(得分:0)

我用阿克拉姆的答案解决了这个问题。这就是我的确做法 用一个简单的方法,id在我的Podfile中做了这个。

pod 'Parse'
pod 'ParseFacebookUtilsV4'  
pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'

注意:如果您手动添加了解析集成,请删除其他框架。