我正在使用 cocoapods 将 3rd 方库集成到我的项目中。一切都很顺利,但是当我尝试集成 facebook ios sdk 时遇到一个非常奇怪的问题,我的 pods 项目有以下警告:
如果我点击它,我会得到以下对话框:
我检查了目标“Pods-Facebook-iOS-SDK”的构建阶段部分的标题。每个头文件都在重复:
当我尝试构建我的项目时,它失败了,因为它无法找到“FacebookSDK/FacebookSDK.h”。
我的最后一个选择是手动集成 facebook sdk,而不是使用 cocoapods,但我不想走那条路,对于我的生活,我无法理解我做错了什么。引用以下是我的 pod 文件:
platform :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'
以下是有关我的开发环境的信息:
X代码:6.1
架构:armv7、arm64
基础 SDK:iOS 8.1
最佳答案
我遇到了类似的问题。我的项目以前没有使用过 Cocoapods,我现在正尝试通过 Cocoapods 添加 Facebook SDK。
根据@MingLi 的评论,我用 #import <FacebookSDK/FacebookSDK.h>
替换了所有 #import <FBSDKCoreKit/FBSDKCoreKit.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
关于ios - Facebook Cocoapods 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29515642/