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 集成的主要内容,如果未能解决你的问题,请参考以下文章
将 Facebook SDK 与 Xcode Swift 项目集成 - AppDelegate 错误?
关于Cocos2dx v4.0 和 Cocoapods配合使用