欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[绍棠_Swift] 怎样在Swift项目中引入CommonCrypto库

程序员文章站 2024-03-22 23:01:22
...

方法一:

借助modulemap

1.创建modulemap文件

[绍棠_Swift] 怎样在Swift项目中引入CommonCrypto库
modulemap files
module CCommonCrypto [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

module CCommonCrypto [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

module CCommonCrypto [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

module CCommonCrypto [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

module CCommonCrypto [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

module CCommonCrypto [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

module CCommonCrypto [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

2.将modulemap路径添加到Import Paths

[绍棠_Swift] 怎样在Swift项目中引入CommonCrypto库
Import Paths

3.导入头文件使用

[绍棠_Swift] 怎样在Swift项目中引入CommonCrypto库

方法二:

利用Swift与OC的桥接文件

任意新建一个类,语言选取objective-c

[绍棠_Swift] 怎样在Swift项目中引入CommonCrypto库

这个步骤仅仅是为了生成我们需要的一个文件;之后我们将删除本步骤中建好的类,所以类名什么的随便起好了

[绍棠_Swift] 怎样在Swift项目中引入CommonCrypto库

任意写入类名,next之后,我们会得到一条提示,提示我们是否要建立这个bridging-header文件,我们选择,就可以看到目录中多出来这样一个xxx-bridging-header.h的文件,

[绍棠_Swift] 怎样在Swift项目中引入CommonCrypto库

然后移除这个文件中的所有内容,并且移除我们之前步骤中生成的objc的.h和.m两个文件(当然如果有用你可以保留下来)。

3. 接下来,在xxx-bridging-header.h 中import进入我们想要的各种文件。

在我的实例项目*import了两个,第一行是为了写MD5算法,第二行是为了调用第三方的类库,MBProgressHUD


MD5算法

我们需要import <CommonCrypto/CommonDigest.h>

之后,在你的任意一个.swift文件中,写入下面的代码

[plain] view plain copy
  1. extension String{  
  2.     func md5() ->String!{  
  3.         let str = self.cStringUsingEncoding(NSUTF8StringEncoding)  
  4.         let strLen = CUnsignedInt(self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))  
  5.         let digestLen = Int(CC_MD5_DIGEST_LENGTH)  
  6.         let result = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLen)  
  7.         CC_MD5(str!, strLen, result)  
  8.         var hash = NSMutableString()  
  9.         for i in 0 ..< digestLen {  
  10.             hash.appendFormat("%02x", result[i])  
  11.         }  
  12.         result.destroy()  
  13.         return String(format: hash as String)  
  14.     }  
  15. }  




相关标签: swift