我正在使用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中显示的特定版本也是安装的版本,即使我在撰写本文时没有明确指定它们.
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";
Run Code Online (Sandbox Code Playgroud)
#ifndef MyAppObjCBridging_h
#define MyAppObjCBridging_h
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <FBSDKMessengerShareKit/FBSDKMessengerShareKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>
#endif
Run Code Online (Sandbox Code Playgroud)
控制台显示消息"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中我"产品>清洁"(CMD + SHIFT + K),但这没有任何区别.所以我sudo gem uninstall cocoapods
在终端(其中列出了0.38.2和0.39.0作为当前安装的版本)和从列表中选择版本0.39.0以卸载最新版本并恢复到0.38.2.然后我跑了pod install --verbose
.当我尝试编译我的应用程序时,它已成功编译并再次在Simulator中运行.
当我使用Cocoapods版本0.39.0而不是旧版本0.38.2时,为什么会出现无法找到"FBSDKCoreKit/FBSDKCoreKit.h"的错误?
如果使用Cocoapods版本0.38.2(用我的应用程序编译的版本)我决定添加 …
它说decl_storage!
是一个“程序宏”,用于存储数据以使其在后续块中可用。
它说,如果用户能够设置密钥对,那么我们就不能信任密钥对,因此我们必须使用诸如 blake2_256 之类的加密哈希器来防止“存储中的其他值受到损害”。
为什么你会使用散列算法($hash
)不是默认blake2_256
的StorageMap
(即,为什么会有人使用twox
,而不是默认的blake2_256
)?
另外,为什么说它只是为了防止“存储中的其他值受到损害”?不是blake2_256
也用来防止密钥对本身被泄露吗?