Приложение удаленного стирания в iDevice

Как удаленно стереть данные/приложения с iDevice [iPod Touch, iPhone или iPad]?

Возможные решения следующие.

  1. Настройте «Найти мой iPod» на вашем iPod
  2. Сделать вызов сервера и проверить, было ли устройство сообщено как украденное? Если да, то вызовите функцию выхода (0) и сотрите данные и приложение.

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

-(NSString *)getDatabasePath {
    NSArray *subDir = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[self applicationAppSupportDirectory] error:nil];
    NSString *path = [[[self applicationAppSupportDirectory] stringByAppendingPathComponent:[subDir lastObject]]
                      stringByAppendingPathComponent:@"xyz.sqlite"];

    return path ;
}
-(void)deleteDatabase {

    NSFileManager *manager = [NSFileManager defaultManager] ;
    NSError *error = nil ;
    NSString *databasePath = [self getDatabasePath];

    if ([manager fileExistsAtPath:databasePath]) {
        [manager removeItemAtPath:databasePath error:&error] ;
    }
    debug(@"%@",error);

    if (error) {
        [Utility showAlertViewWithTitle:@"Error" andMessage:error.localizedDescription];        
    }
}

-(void)deleteApplication {

    exit(0);
    NSString *appPath = [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent] ;
    NSLog(@"%@",appPath);

}

Я удалил папку приложения, но на моем iDevice все еще есть логотип приложения. Это правильный способ уничтожить мое приложение? Apple отклонит мое приложение из-за этого? Почему appLogo все еще существует, когда я полностью удаляю папку приложения?


person MilanPanchal    schedule 12.06.2013    source источник
comment
вы не можете программно удалить приложение, кстати, почему вы должны это делать ??   -  person oiledCode    schedule 12.06.2013
comment
Поскольку мое приложение содержит конфиденциальные данные, клиент хочет удалить их, если его устройство будет украдено.   -  person MilanPanchal    schedule 12.06.2013
comment
@milanpanchal: iOS уже предоставляет возможность удаленной очистки всего устройства через iCloud и приложение «Найти iPhone».   -  person Marcelo Cantos    schedule 12.06.2013
comment
@Marcelo Cantos - я уже указал это в своем вопросе. Но для этого пользователю необходимо включить эту функцию.   -  person MilanPanchal    schedule 12.06.2013


Ответы (1)


Apple не позволит вам использовать выход (0). Вы, вероятно, можете стереть пользовательские данные, но вам нужно будет убедиться, что приложение все еще можно использовать после этого (т.е. вернуть приложение в состояние первого запуска).

Для сообщения об украденной части: вам нужно будет создать свой собственный веб-интерфейс или аналогичный для этого, поскольку Apple в настоящее время не позволяет вам получать доступ к такой информации iCloud из стороннего приложения.

person Community    schedule 20.07.2013