Page Summary
-
MLKModelManager is a class responsible for managing models used by MLKit features, such as downloading, deleting, and checking the download status.
-
It provides methods to download models with specified conditions, delete downloaded models, and check if a model has been downloaded.
-
The
downloadedTranslateModelsproperty provides a set of already downloaded translate models, including built-in and custom models. -
You can use the
modelManagerclass method to get an instance ofMLKModelManager. -
To track model download progress and status, you can observe
.mlkitModelDownloadDidSucceedand.mlkitModelDownloadDidFailnotifications.
MLKModelManager
@interface MLKModelManager : NSObjectManages models that are used by MLKit features.
-
Returns a
ModelManagerinstance.Declaration
Objective-C
+ (nonnull instancetype)modelManager;Return Value
A
ModelManagerinstance. -
Unavailable. Use the
modelManager()class method.Declaration
Objective-C
- (nonnull instancetype)init; -
Checks whether the given model has been downloaded.
Declaration
Objective-C
- (BOOL)isModelDownloaded:(nonnull MLKRemoteModel *)remoteModel;Parameters
remoteModelThe model to check the download status for.
Return Value
Whether the given model has been downloaded.
-
Downloads the given model from the server to a local directory on the device. Use
isModelDownloaded(_:)to check the download status for the model. If this method is invoked and the model has already been downloaded, a request is made to check if a newer version of the model is available for download. If available, the new version of the model is downloaded.To know when this method is done, observe the
.mlkitModelDownloadDidSucceedand.mlkitModelDownloadDidFailnotifications defined inMLKModelDownloadNotifications.h. If the latest model is already downloaded, completes without additional work and posts.mlkitModelDownloadDidSucceednotification, indicating that the model is ready to use.Declaration
Objective-C
- (nonnull NSProgress *)downloadModel:(nonnull MLKRemoteModel *)remoteModel conditions: (nonnull MLKModelDownloadConditions *)conditions;Parameters
remoteModelThe model to download.
conditionsThe conditions for downloading the model.
Return Value
Progress for downloading the model.
-
Deletes the downloaded model from the device.
Declaration
Objective-C
- (void)deleteDownloadedModel:(nonnull MLKRemoteModel *)remoteModel completion:(nonnull void (^)(NSError *_Nullable))completion;Parameters
remoteModelThe downloaded model to delete.
completionHandler to call back on the main queue when the model deletion completed successfully or failed with the given
error.
-
A set of already-downloaded translate models (including built-in models, currently only English). These models can be then deleted through
ModelManager‘sdeleteDownloadedModel(_:completion:)API to manage disk space.Declaration
Objective-C
@property (nonatomic, readonly) NSSet<MLKTranslateRemoteModel *> *_Nonnull downloadedTranslateModels;