swift2 – 使用Facebook SDK v4.7的CocoaPods v0.39.0错误
老
Cocoapods配置
我正在使用Xcode 7 Beta 4.最初我使用Cocoapods版本0.38.2,当我在终端中运行pod install –verbose时,它表示它下载了Bolts,FBSDKCoreKit,FBSDKLoginKit,FBSDKShareKit,FBSDKMessengerShareKit和iOS 8.1的Pods的依赖项.使用此设置我的应用程序编译成功.下面是我用于导入Facebook SDK的Podfile和Objective-C桥接文件(因此Swift识别其引用的方法和Objective-C类).请注意,我的Podfile中显示的特定版本也是安装的版本,即使我在撰写本文时没有明确指定它们. Podfile xcodeproj '/Users/<my_username>/MyApp/MyApp.xcodeproj' pod "FBSDKCoreKit","~> 4.7.0"; pod "FBSDKLoginKit","~> 4.7.0"; pod "FBSDKShareKit","~> 4.7.0"; pod "FBSDKMessengerShareKit","~> 1.3.1"; MyAppObjCBridging.h #ifndef MyAppObjCBridging_h #define MyAppObjCBridging_h #import <FBSDKCoreKit/FBSDKCoreKit.h> #import <FBSDKLoginKit/FBSDKLoginKit.h> #import <FBSDKMessengerShareKit/FBSDKMessengerShareKit.h> #import <FBSDKShareKit/FBSDKShareKit.h> #endif 更新到Cocoapods v0.39.0时遇到的问题(来自v0.38.2) 控制台显示消息“CocoaPods 0.39.0可用.要更新使用:gem install cocoapods.在我们达到1.0版本之前,CocoaPods的功能可以并且将会改变.我们强烈建议您始终使用最新版本.”,所以我通过在终端执行sudo gem install cocoapods安装了最新版本的Cocoapods 0.39.0. 但是当我编译我的应用程序时,它给了我以下错误: /Users//MyApp/MyApp/MyAppObjCBridging.h:14:9:找不到’FBSDKCoreKit / FBSDKCoreKit.h’文件 在Xcode I“Product> Clean”(CMD SHIFT K)中,但这没有任何区别.所以我在终端运行了sudo gem uninstall cocoapods(其中列出了0.38.2和0.39.0作为当前安装的版本),并从列表中选择了版本0.39.0以卸载最新版本并恢复为0.38.2.然后我运行pod install –verbose.当我尝试编译我的应用程序时,它已成功编译并再次在Simulator中运行. 问题1 当我使用Cocoapods版本0.39.0而不是旧版本0.38.2时,为什么会出现无法找到“FBSDKCoreKit / FBSDKCoreKit.h”的错误? 问题2 如果在使用Cocoapods版本0.38.2(与我的应用程序编译的版本)时,我决定将平台:ios,’9.0’添加到我的Podfile的第一行(在其现有内容之上)并在终端中运行pod install –verbose,终端消息告诉我它安装iOS 9.0的每个pod目标(而不是iOS 8.1)(即 – 安装targetFBSDKCoreKitiOS 9.0). ld:警告:找不到选项’-L / Users / Ls / code / swift / FreeWifiSearch / FreeWifiSearch / build / Debug-iphoneos’的目录 问题3 当使用Cocoapods版本0.38.2(与我的应用程序编译的版本)时,如果我决定添加use_frameworks!到我的Podfile的第一行,以及平台:ios,’9.0’到我的Podfile的第二行(在其现有内容之上),然后在终端中运行pod install –verbose,终端消息告诉我它安装每个适用于iOS 9.0的pod目标(而不是iOS 8.1). 当我运行我的应用程序时,出现以下错误: >使用未解析的标识符’FBSDKLoginButton’ 为什么要添加use_frameworks!我的Podfile顶部阻止我使用Facebook SDK标识符? (注意当我没有use_frameworks!在我的Podfile顶部时,我的应用程序成功编译并在Xcode Simulator中运行,我可以成功检索Facebook SDK访问令牌并登录Facebook)
由于发布了原始问题,因此执行了以下操作,并且没有导致编译器错误:
>从X Store 7 Beta 4更新到Xcode 7.1.1,从App Store下载最新版本>添加了use_frameworks!和平台:ios,’9.0’到Podfile的顶部>将部署目标更改为iOS 9.0:项目设置>目标>一般>部署信息>部署目标> 9>使用sudo gem install cocoapods将CocoaPods更新为v0.39>重新安装pod更新pod -verbose>在包含Facebook SDK方法的类上方添加了导入FBSDKLoginKit>在Xcode中执行Clean(Shift CMD K)和Run(CMD R)以在设备上进行测试 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |