Gazetteer encryption?

I have an app that uses a couple of mlmodels (word tagger and gazetteer) and I’m trying to encrypt them before publishing.

The models are part of a package. I understand that Xcode can’t automatically handle the encryption for a model in a package the way it can within a traditional app structure.

Given that, I’ve generated the Apple MLModel encryption key from Xcode and am encrypting via the command line with:

xcrun coremlcompiler compile Gazetteer.mlmodel GazetteerENC.mlmodelc --encrypt Gazetteerkey.mlmodelkey

In the package manifest, I’ve listed the encrypted models as .copy resources for my target and have verified the URL to that file is good.

When I try to load the encrypted .mlmodelc file (on a physical device) with the line:


gazetteer = try NLGazetteer(contentsOf: gazetteerURL!)

I get the error:

Failed to open file: /…/Scanner.bundle/GazetteerENC.mlmodelc/coremldata.bin. It is not a valid .mlmodelc file.

So my questions are:

  1. Does the NLGazetteer class support encrypted MLModel files?

  2. Given that my models are in a package, do I have the right general approach?

Thanks for any help or thoughts.

Gazetteer encryption?
 
 
Q