我正在使用Cryptoswift框架进行加密和解密。我在另一个Xcode项目中使用Xcode项目。尽管使用pod作为主项目,子项目仍无法访问框架Cryptoswift。除此之外,我还将框架添加到了#34;链接的框架和库#34;。该项目在模拟器中工作正常,但在设备上没有工作。当我在设备上运行时,我得到了错误
var enc = try AES(key: FirstStepEncryptionKey, iv: "", blockMode:.CBC, padding: NoPadding()).encrypt(firstStepArray)
错误:"使用未解析的标识符' AES'"
虽然import语句没有显示任何错误。我是我公司唯一的开发人员,没有人可以指导我。请帮我澄清一下。
更新:我添加了嵌入二进制文件的文件,但仍然崩溃说" dyld:未加载库:@rpath / CryptoSwift.framework / CryptoSwift 参考自:/var/containers/Bundle/Application/48894FB2-0CDB-4B8D-A763-1C57B3EDAE41/Vaya_Tracker.app/Vaya_Tracker 原因:图片未找到"
修正: 我不得不将CryptoSwift.xcodeproj文件添加到我的Xcode项目中,而不是通过pods或Carthage添加它。
答案 0 :(得分:1)
我也在使用Cocoapods CryptoSwift
,而Swift版本是Swift 4.0
。下面是我的podfile。
platform :ios, '8.0'
use_frameworks!
target 'MyAProjectName' do
pod 'CryptoSwift', '0.8.3'
end
您必须导入CryptoSwift
才能使用AES
。
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 { }
}
}
根据评论更新崩溃问题:
然后清理构建并再次构建。
如果仍然无效,请尝试将status
中的Linked framework and Libraries
设置为required
两个框架。