106 lines
2.4 KiB
Objective-C
106 lines
2.4 KiB
Objective-C
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#if __has_include(<AppCenter/MSACServiceAbstract.h>)
|
|
#import <AppCenter/MSACServiceAbstract.h>
|
|
#else
|
|
#import "MSACServiceAbstract.h"
|
|
#endif
|
|
|
|
#if __has_include(<AppCenterDistribute/MSACDistributeDelegate.h>)
|
|
#import <AppCenterDistribute/MSACDistributeDelegate.h>
|
|
#else
|
|
#import "MSACDistributeDelegate.h"
|
|
#endif
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* App Center Distribute service.
|
|
*/
|
|
NS_SWIFT_NAME(Distribute)
|
|
@interface MSACDistribute : MSACServiceAbstract
|
|
|
|
typedef NS_ENUM(NSInteger, MSACUpdateAction) {
|
|
|
|
/**
|
|
* Action to trigger update.
|
|
*/
|
|
MSACUpdateActionUpdate,
|
|
|
|
/**
|
|
* Action to postpone update.
|
|
*/
|
|
MSACUpdateActionPostpone
|
|
} NS_SWIFT_NAME(UpdateAction);
|
|
|
|
typedef NS_ENUM(NSInteger, MSACUpdateTrack) {
|
|
|
|
/**
|
|
* An update track for tracking public updates.
|
|
*/
|
|
MSACUpdateTrackPublic = 1,
|
|
|
|
/**
|
|
* An update track for tracking updates sent to private groups.
|
|
*/
|
|
MSACUpdateTrackPrivate = 2
|
|
} NS_SWIFT_NAME(UpdateTrack);
|
|
|
|
/**
|
|
* Update track.
|
|
*/
|
|
@property(class, nonatomic) MSACUpdateTrack updateTrack;
|
|
|
|
/**
|
|
* Distribute delegate
|
|
*
|
|
* @discussion If Distribute delegate is set and releaseAvailableWithDetails is returning <code>YES</code>, you must call
|
|
* notifyUpdateAction: with one of update actions to handle a release properly.
|
|
*
|
|
* @see releaseAvailableWithDetails:
|
|
* @see notifyUpdateAction:
|
|
*/
|
|
@property(class, nonatomic, weak) id<MSACDistributeDelegate> _Nullable delegate;
|
|
|
|
/**
|
|
* URL that is used for generic update related tasks.
|
|
*/
|
|
@property(class, nonatomic, copy, setter=setApiUrl:) NSString *apiUrl;
|
|
|
|
/**
|
|
* URL that is used to install update.
|
|
*
|
|
*/
|
|
@property(class, nonatomic, copy, setter=setInstallUrl:) NSString *installUrl;
|
|
|
|
/**
|
|
* Notify SDK with an update action to handle the release.
|
|
*/
|
|
+ (void)notifyUpdateAction:(MSACUpdateAction)action;
|
|
|
|
/**
|
|
* Process URL request for the service.
|
|
*
|
|
* @param url The url with parameters.
|
|
*
|
|
* @return `YES` if the URL is intended for App Center Distribute and your application, `NO` otherwise.
|
|
*
|
|
* @discussion Place this method call into your app delegate's openURL method.
|
|
*/
|
|
+ (BOOL)openURL:(NSURL *)url;
|
|
|
|
/**
|
|
* Disable checking the latest release of the application when the SDK starts.
|
|
*/
|
|
+ (void)disableAutomaticCheckForUpdate;
|
|
|
|
/**
|
|
* Check for the latest release using the selected update track.
|
|
*/
|
|
+ (void)checkForUpdate;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|