无法访问Cryptoswift框架

时间:2018-03-22 05:04:53

标签: swift xcode cryptoswift

我正在使用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添加它。

1 个答案:

答案 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 { }

    }
}

根据评论更新崩溃问题:

enter image description here

然后清理构建并再次构建。 如果仍然无效,请尝试将status中的Linked framework and Libraries设置为required两个框架。