MLKModelManager
@interface MLKModelManager : NSObject
Manages models that are used by MLKit features.
-
Returns a
ModelManager
instance.Declaration
Objective-C
+ (nonnull instancetype)modelManager;
Return Value
A
ModelManager
instance. -
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
remoteModel
The 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
.mlkitModelDownloadDidSucceed
and.mlkitModelDownloadDidFail
notifications defined inMLKModelDownloadNotifications.h
. If the latest model is already downloaded, completes without additional work and posts.mlkitModelDownloadDidSucceed
notification, indicating that the model is ready to use.Declaration
Objective-C
- (nonnull NSProgress *)downloadModel:(nonnull MLKRemoteModel *)remoteModel conditions: (nonnull MLKModelDownloadConditions *)conditions;
Parameters
remoteModel
The model to download.
conditions
The 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
remoteModel
The downloaded model to delete.
completion
Handler 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;