Я разрабатываю приложение для iPhone, которое будет устанавливать несколько сторонних приложений на предприятии. У меня есть информация об идентификаторах пакетов. Есть ли способ проверить, установлено ли приложение, используя некоторые системные API? В настоящее время приложение устанавливается снова, перезаписывая текущую установку. Мне нужно это как-то предотвратить. (Приложение Apple AppStore отключает опцию установки, если приложение уже установлено.)
Я думаю, что это невозможно напрямую, но если приложения регистрируют схемы URI, которые вы можете проверить на это.
Схема URI, например, fb: //
для приложения facebook. Вы можете зарегистрировать это в info.plist вашего приложения. [UIApplication canOpenURL: url]
сообщит вам, откроется ли определенный URL-адрес. Таким образом, тестирование, если fb: //
откроется, покажет, что установлено приложение, которое зарегистрировало fb: //
- что является хорошей подсказкой для приложения facebook.
// check whether facebook is (likely to be) installed or not
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) {
// Safe to launch the facebook app
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"fb://profile/200538917420"]];
}