Невозможно выполнить это, потому что каждое приложение изолировано.
Вы могли бы определить, установлены ли приложения, если у них есть настраиваемые схемы URL. Например, приложение Facebook можно запустить с помощью настраиваемой схемы URL-адресов «fb: //», но они не гарантированы быть уникальными, поэтому другое приложение может использовать схему, которая, как известно, принадлежит другому приложению. Кроме того, не все приложения имеют настраиваемую схему URL-адресов, и вам нужен какой-то главный список (который должен постоянно обновляться, чтобы быть точным), чтобы проверить наличие каждого из них. Таким образом, вы можете обнаружить избранный список известных приложений с настраиваемыми схемами URL-адресов, но никогда не получите список всех из них.
Если вы просто хотите обнаружить свои собственные приложения, вы можете создать собственный URL-адрес схемы, которые почти наверняка будут уникальными для каждого приложения, и проверьте их.
Вы также можете сделать джейлбрейк своего устройства, но я предполагаю, что вы хотите использовать эту функцию в приложении, которое распространяется на
EDIT:
Вот пример, показывающий обнаружение установленного приложения Facebook:
g5]
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]])
{
// Handle the Facebook app being installed
}
Обратите внимание, что это не даст вам никакой информации об этом приложении. Любой разработчик приложений мог бы добавить в свое приложение настраиваемую схему URL-адреса «fb: //», что сделало бы это ложным обнаружением.
Если вы хотите найти списки пользовательских схем URL-адресов для приложений iOS, просто выполните поиск в Google.
Из-за среды Sandboxed все, что вы можете сделать, это проверить, можно ли открыть собственный URL. Akosma Software поддерживает список популярных Url на своей вики: Схемы URL-адреса IPhone .
еще один способ взглянуть на это - предоставить пользователю все ваше приложение в AppStore. Если у них есть приложения, установленные на их устройстве, то в iOS 7 они будут видеть кнопку под названием «Открыть» рядом с каждым из них.
Например, вы можете иметь UITableViewCell или UIButton, который говорит «Checkout Our Программы". В коде вы добавили бы это.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/sixaxisllc"]];
Замените SixAxis LLC вашим именем разработчика iTunes, и когда пользователи нажмут на него, он запустит приложение AppStore, пока будут показаны только ваши приложения. (С Open или цена рядом с каждым из них)
ПРИМЕЧАНИЕ: проверьте это на самом устройстве, а не на симуляторе
[/g0]