swift导入CommonCrypto方法

  • 桥接头文件(Bridging Header)
    如果只是想简单地在应用中使用CommonCrypto里的方法,最容易的解决方案是在项目中增加混合使用Objective-C的桥接头文件,并在其中增加#import
    通过在项目中创建一个新的Objective-C类,可以让Xcode帮助我们自动生成一个桥接头文件。一旦有了桥接头文件,就可以删除之前所增加的空类。

  • 我们也可以手动创建桥接头文件,但是要稍微麻烦一点。首先需要创建一个头文件,并且打开Build Settings,然后找到Swift Compiler Code Generation,然后设置Objective-C Bridging Header为头文件的路径。

  • 使用桥接头文件的好处是不需要再在Swift代码中使用import CommonCrypto语句。

全局假模块

  • Swift Playground对试验和学习API的使用很有帮助。不过上面的两种方法都不能够在Playground中使用。因此只好在SDK目录下创建一个假的CommonCrypto.framework,这样Playground就能够找到这些文件了。
  • 首先,打开终端,并切换到模拟器的Frameworks目录(Mac HD->应用程序->xcode右键显示包内容->Developer->Platforms->iPhoneOS.platform->Developer->SDKs->
    iPhoneOS5.1.sdk->system->Library->Frameworks)。下面是最简便的方法:
cd `xcrun -sdk iphonesimulator8.0 -show-sdk-path`/System/Library/Frameworks
  • open . 打开当前目录
  • 在当前目录下创建framework(创建一个CommonCrypto.framework目录)
  • 在这个目录下新建一个module.map文件并且将下面的内容复制到文件中。我们可能需要根据实际情况修改路径。
module CommonCrypto [system] {
  header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/CommonCrypto/CommonCrypto.h"
  header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/CommonCrypto/CommonRandom.h"
  export *
}
3DDC3BBD-F551-4056-A446-BEF4F8D314AE.png
swift导入CommonCrypto方法_第1张图片
D8D46B51-4CF3-46CE-9265-EB20DB3F8897.png

你可能感兴趣的:(swift导入CommonCrypto方法)