(Swift) 尝试使用解析 1.7.1 和 FacebookSDK 4.0.1 时出现链接器错误

(Swift) Linker error when trying to use parse 1.7.1 and FacebookSDK 4.0.1

我正在将我的 iOS 项目升级到新版本的解析和 Facebook SDK,因为 Swift 1.2 不支持旧版本。

既然我已经升级了,我就无法摆脱链接器错误。我添加了 parse 1.7.1 并从我的桥接头文件中删除了 import 语句。 只需解析编译器就不会报错。

但是由于我使用facebook登录,所以我还需要包含FacebookSDK。我已经添加了 facebookSDK 4.0.1,这就是问题所在。

我知道有 1 个警告和 9 个错误。这是错误

Undefined symbols for architecture x86_64: "_FBTokenInformationExpirationDateKey", referenced from: -[PFFacebookTokenCachingStrategy cacheTokenInformation:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) -[PFFacebookTokenCachingStrategy expirationDate] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) -[PFFacebookTokenCachingStrategy setExpirationDate:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) "_FBTokenInformationTokenKey", referenced from: -[PFFacebookTokenCachingStrategy accessToken] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) -[PFFacebookTokenCachingStrategy setAccessToken:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) "_FBTokenInformationUserFBIDKey", referenced from: -[PFFacebookTokenCachingStrategy facebookId] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) -[PFFacebookTokenCachingStrategy setFacebookId:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) "_OBJC_CLASS_$_FBAppCall", referenced from: objc-class-ref in ParseFacebookUtils(PFFacebookAuthenticationProvider.o) "_OBJC_CLASS_$_FBRequest", referenced from: objc-class-ref in ParseFacebookUtils(PFFacebookAuthenticationProvider.o) "_OBJC_CLASS_$_FBSession", referenced from: objc-class-ref in ParseFacebookUtils(PFFacebookAuthenticationProvider.o) "_OBJC_CLASS_$_FBSessionTokenCachingStrategy", referenced from: _OBJC_CLASS_$_PFFacebookTokenCachingStrategy in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) "_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from: _OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in ParseFacebookUtils(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 链接器标志、删除和读取 SDK 等操作。想不出别的了。

不知道该怎么做

我也遇到了同样的问题。我升级到 Xcode 6.3 和 Swift 1.2。我是第一次使用 Parse 导入 Facebook 4.0.1 SDK。这是我到目前为止尝试过的。

  1. 我添加了 SDK 库 FBSDKCoreKit.Framework, FBSDKLoginKit.Framework, FBSDKShareKit.Framework 到您的 XCode Projects Framework 文件夹中。取消选中 "Copy into destination group folder" 并按照 Facebook 和 Parse 的设置步骤进行操作。

并添加了 PFFacebookUtilsV4 库

然后我将导入添加到我的 Bridging-Headrer

导入FBSDKCoreKit/FBSDKCoreKit.h

导入ParseFacebookUtilsV4/PFFacebookUtils.h

我从你的问题中得到了同样的错误。

  1. 我遇到了一个解决方案并删除了 FB SDK 中的所有模块文件夹,它是配偶为导入到 Swift 个项目提供的解决方案,现在这是我的错误

我更新了Parse SDK,还是找不到解决办法。尝试导入 AppDelegate.swift 中的库,但仍然无法导入。尝试访问 PFFacebookUtils,但在添加 FBSDK 后,Xcode 找不到此文件。

感谢您的帮助..