Facebook Cocoapods 集成

Posted

技术标签:

【中文标题】Facebook Cocoapods 集成【英文标题】:Facebook Cocoapods integration 【发布时间】:2015-04-08 13:12:02 【问题描述】:

我正在使用 cocoapods 将第 3 方库集成到我的项目中。一切都很顺利,但是当我尝试集成 facebook ios sdk 时遇到一个非常奇怪的问题,我的 pods 项目有以下警告:

如果我点击它,我会得到以下对话框:

我在目标“Pods-Facebook-iOS-SDK”的构建阶段部分检查了标题。每个头文件都在重复:

当我尝试构建我的项目时,它失败了,因为它无法找到“FacebookSDK/FacebookSDK.h”。

我的最后一个选择是手动集成 facebook sdk,而不是使用 cocoapods,但我不想走那条路,对于我的生活,我无法理解我做错了什么。以下是我的 pod 文件供参考:

平台:ios,'7.0'

pod 'DTCoreText'

pod 'UIView+AnimationExtensions'

pod 'EZAudio'

pod 'MZTimerLabel'

pod 'AWSAutoScaling'

pod 'AWSCloudWatch'

pod 'AWSCore'

pod 'AWSDynamoDB'

pod 'AWSEC2'

pod 'AWSElasticLoadBalancing'

pod 'AWSKinesis'

pod 'AWSS3'

pod 'AWSSES'

pod 'AWSSNS'

pod 'AWSSQS'

pod 'AWSSimpleDB'

pod 'Facebook-iOS-SDK'

以下是关于我的开发环境的信息:

XCode:6.1

架构:armv7、arm64

基础 SDK:iOS 8.1

【问题讨论】:

FacebookSDK/FacebookSDK.h 文件在 v4 中不再存在,您应该使用 FBSDKCoreKit/FBSDKCoreKit.h、FBSDKLoginKit/FBSDKLoginKit.h 和 FBSDKShareKit/FBSDKShareKit.h 【参考方案1】:

我遇到了类似的问题。我的项目以前没有使用 Cocoapods,现在我正在尝试通过 Cocoapods 添加 Facebook SDK。

根据@MingLi 的评论,我用#import <FBSDKCoreKit/FBSDKCoreKit.h> 替换了#import <FacebookSDK/FacebookSDK.h> 的所有实例,一切又开始工作了。

当我在 Xcode 中编译时,它显示了需要 #import <FBSDKLoginKit/FBSDKLoginKit.h>#import <FBSDKShareKit/FBSDKShareKit.h> 的文件

您还可能需要经历和调整 Facebook SDK 3.x 和 4.x 之间发生的变化。例如,我必须将[FBSettings setDefaultAppId:123456789] 替换为[FBSDKSettings appId:123456789],并将[FBAppEvent activateApp] 替换为[FBSDKAppEvents activateApp]

如果您编译然后单击每个编译错误旁边的红点(在您的代码中),Xcode 有时有助于找到所需的更改。

整理所有更改可能需要大量工作,您可能需要重新编译很多次。

如果您在从 SDK 3.x 升级到 4.x 时无法确定如何替换特定函数/类,可以参考 Facebook 的变更日志: https://developers.facebook.com/docs/ios/change-log-4.x

您还可以在此处找到更多信息: https://developers.facebook.com/docs/ios/getting-started

【讨论】:

以上是关于Facebook Cocoapods 集成的主要内容,如果未能解决你的问题,请参考以下文章

找不到模块 FBSDKCoreKit Cocoapods

将 Facebook SDK 与 Xcode Swift 项目集成 - AppDelegate 错误?

cocoapods 上的 Facebook SDK

关于Cocos2dx v4.0 和 Cocoapods配合使用

通过 CocoaPods 安装 Facebook iOS SDK

flutter_facebook_login CocoaPods 依赖错误