我使用cryptoswift框架进行加密和解密。我正在另一个xcode项目中使用xcode项目。尽管主项目使用pods,但子项目无法访问cryptoswift框架。除此之外,我还将框架添加到了“链接的框架和库”。该项目在模拟器中工作正常,但在设备上不工作。当我在设备上运行它时,会得到错误。
var enc = try AES(key: FirstStepEncryptionKey, iv: "", blockMode:.CBC, padding: NoPadding()).encrypt(firstStepArray)
错误:“使用未解析的标识符‘aes’”
虽然import语句没有显示任何错误。我是我公司唯一的开发人员,没有人指导我。请帮助我清除此错误。
更新:我添加了嵌入二进制文件,但它仍然崩溃,说“dyld:library not loaded:@rpath/cryptoswift.framework/cryptoswift
引用自:var/containers/bundle/application/48894fb2-0cdb-4b8d-a763-1c57b3edae41/vaya_tracker.app/vaya_tracker
原因:找不到图像“
修复:
我不得不将cryptoswift.xcodeproj文件添加到我的xcode项目中,而不是通过pods或迦太基添加它。
最佳答案
我也在用可可粉,Swift版本是可可粉。下面是我的播客文件。
platform :ios, '8.0'
use_frameworks!
target 'MyAProjectName' do
pod 'CryptoSwift', '0.8.3'
end
您必须导入
CryptoSwift
才能使用Swift 4.0
。import CryptoSwift
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
do {
let aes = try AES(key: "passwordpassword", iv: "drowssapdrowssap") // aes128
let ciphertext = try aes.encrypt(Array("Nullam quis risus eget urna mollis ornare vel eu leo.".utf8))
print(ciphertext)
} catch { }
}
}
根据评论更新崩溃问题:
然后清理生成并重新生成。
如果仍然不起作用,则尝试将两个框架的
CryptoSwift
中的AES
设置为status
。