URL-схемы для приложений

Я хотел открыть приложения Facebook и Twitter из своего приложения. Я нахожу очень простой способ, например:

NSURL *url = [NSURL URLWithString:@"fb://profile"];
[[UIApplication sharedApplication] openURL:url];

И есть много других URL-адресов для открытия другой страницы Facebook. Как я могу проверить, существует ли приложение Facebook на iPhone? Что произойдет, если приложение не будет установлено на устройстве? Теперь я пытаюсь использовать этот метод на симуляторе iOS, но ничего не происходит. Это ошибка симулятора iOS? Только завтра у меня будет возможность проверить устройство.


person Neznajka    schedule 14.02.2013    source источник


Ответы (2)


Вы можете проверить, откроется ли URL заранее, используя метод canOpenURL метода UIApplication.

http://developer.apple.com/library/ios/ДОКУМЕНТАЦИЯ/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/canOpenURL:

Также! Вы можете передать значения для нужной вам страницы facebook. Это переполнение стека содержит ссылку на вики со всеми вариантами: Запуск приложения Facebook и Twitter из другого приложения iOS

person Billy Lazzaro    schedule 14.02.2013

Если вы знаете схему URL-адресов, которую использует другое приложение (например, fb:// для приложения Facebook), вы можете сначала спросить, может ли ваш объект UIApplication открывать такие URL-адреса в первую очередь с помощью canOpenURL:. Вы можете использовать это, например, чтобы решить, отображать ли ссылку вообще или вместо этого направить пользователя в Safari (с обычным веб-URL).

Поскольку сторонние приложения, насколько мне известно, не могут быть установлены на Симуляторе, единственный способ проверить совместимость с ними — на реальном устройстве.

person villapossu    schedule 14.02.2013