Как ограничить приложение iOS, если пользовательское устройство не зарегистрировано в Airwatch Agent?

В Android мы можем легко проверить, зарегистрировано устройство или нет, следующим образом:

final boolean isEnrolled = awSDKManager.isEnrolled();
if (isEnrolled) {
      final String settings = awSDKManager.getCustomSettings();
}

Существует аналогичная функция для платформы iOS, с помощью которой мы можем проверить пользовательское устройство, на котором установлено или зарегистрировано приложение агента AIRWatch.

Пожалуйста, помогите мне.


person Aashish1aug    schedule 21.03.2018    source источник
comment
Нет, вы не можете сделать ничего подобного из-за песочницы приложения. Вы должны распространять приложение через MDM, тогда вам не нужно проверять. Приложение, требующее регистрации устройства, в любом случае не подходит для распространения через App Store.   -  person Paulw11    schedule 21.03.2018
comment
Если мы не можем этого сделать, то как мы проверили, что агент AIRWatch установлен на пользовательском устройстве, который используется консолью для очистки или обеспечения безопасности в корпоративном распространении. my.air-watch.com/ help/9.1/ru/Content/Expert_Guides/   -  person Aashish1aug    schedule 21.03.2018
comment
вы бы проверили с консоли AirWatch. Чего вы пытаетесь достичь? Если вы не хотите, чтобы приложение работало на неуправляемых устройствах, не устанавливайте его на неуправляемые устройства.   -  person Paulw11    schedule 21.03.2018


Ответы (1)


Сначала инициализируйте AWController для интеграции AIRWatch в

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  AWController *controller = [AWController clientInstance];

  // 2) Defining the callback scheme so the app can get called back --
  // this should match the URL scheme you defined in "Callback Scheme Registration".
  controller.callbackScheme = @"awsdkcallback";
  controller.delegate = self;
  [controller start];

    return YES;
}

затем используйте следующий метод делегирования, чтобы проверить, зарегистрировано ли ваше устройство или нет.

- (void) initialCheckDoneWithError: (NSError *) error {
  if (error) {
    NSLog(@"Error in initialization: %@", [error localizedDescription]);
        NSLog(@"Not enrolled on AirWatch agent");
  } else {
    NSLog(@"Initialization completed without error");
  }

}

Обновление: для последней версии AirWatch SDK 18 используйте следующий метод:

 [controller queryDeviceEnrollmentStatus:^(BOOL isSucess, NSError *error) {

    NSLog(@"Error is : %@",error.localizedDescription);
  }];
person Aashish1aug    schedule 02.05.2018