0


iOS加密CoreML模型

生成模型加密密钥

必须在Xcode的Preferences的Accounts页面登录Apple ID,才能在Xcode中生成模型加密密钥。

在Xcode中打开模型,单击Utilities选项卡,然后单击“Create Encryption Key”按钮。

从下拉菜单中选择当前App的Personal Team,然后单击“continue”按钮。

Xcode的确认对话框提供了一个箭头按钮,可以跳转到Finder中的加密密钥。

Xcode将模型加密密钥文件保存在与原始模型文件相同的文件夹中,并使用其基名与.mlmodelkey扩展名。例如,名为Classifier.mlmodel模型的加密密钥是同一目录中的Classifier.mlmodelkey。

在应用程序中加密模型

添加编译器标志

在Xcode中,导航到项目的Target并打开其Build Phases选项卡。展开Compile Sources部分,并选择希望Xcode在编译时加密的模型。通过双击模型的条目打开模型的编译器标志编辑器。
在编辑器中,添加:--encrypt model_path

  • model_path为创建的模型加密密钥文件的绝对路径

iOS会在编译时将mlmodel文件编译为mlmodelc文件

加载模型

在运行时,使用load(completionHandler:completionHandler:)方法加载加密模型。

当加载加密模型时,Core ML 会通过网络从苹果的服务器获取加密密钥对模型进行解密。

所以必须确保生成模型加密密钥的team和打包证书的team保持一致。

do {
    let modelPath: String? = Bundle.main.path(forResource: "ArtiSense", ofType: "mlmodelc")
    print("MLModel Start")
    self.model = try MLModel.init(contentsOf: URL.init(fileURLWithPath: modelPath!))
    print("MLModel End")
}
catch {
    print("MLModel Failed")
}
标签: ios

本文转载自: https://blog.csdn.net/watson2017/article/details/134980249
版权归原作者 培根芝士 所有, 如有侵权,请联系我们删除。

“iOS加密CoreML模型”的评论:

还没有评论