URL схеми за приложения

Исках да отворя приложенията на Facebook и Twitter от моето приложение. Намирам много прост начин като:

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

И има много други URL адреси за отваряне на различни страници във Facebook. Как мога да проверя дали приложението Facebook съществува на iPhone? Какво се случва, ако приложението не е инсталирано на устройството? Сега се опитвам да използвам този метод на iOS Simulator, но нищо не се случи. Това е грешка в iOS Simulator? Едва утре ще имам възможност да проверя устройството.


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


Отговори (2)


Можете да проверите дали даден URL адрес вероятно ще се отвори преди време, като използвате метода canOpenURL на UIApplication.

http://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/canOpenURL:

Също! Можете да предавате стойности за фейсбук страницата, която искате. Това Stack Overflow включва връзка към wiki с всички варианти: Стартиране на приложение за Facebook и Twitter от друго приложение за iOS

person Billy Lazzaro    schedule 14.02.2013

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

Тъй като приложения на трети страни не могат да бъдат инсталирани на симулатора, доколкото ми е известно, единственият начин да тествате съвместимостта с тях е на действително устройство.

person villapossu    schedule 14.02.2013