2013-12-17 2 views
0

Im делая приложение, которое показывает вам список всех приложений, которые вы установили, а затем, когда я нажимаю его, я хочу запустить это приложение на своем устройстве. Im делает следующий кодКак программно получить схему из установленного приложения?

- (IBAction)openapp:(NSString*)app 
{ 
    urlString = [[NSString alloc]initWithFormat:@"%@:",app.accessibilityLabel];//init string with app name and append it to ":" 

    [urlString stringByReplacingOccurrencesOfString:@" "withString:@""];//remove all spaces 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];//open URL with scheme 
} 

Он работает в некоторых случаях, что схема такая же, как имя приложения, но иногда это не удается (пример - схема facebook = Fb). Итак, мне нужно получить схему приложения откуда-нибудь. Также я не могу просто создать NSString и выделить там фиксированную схему, потому что приложение, которое я открою, изменится с устройства на устройство. Кто-нибудь может спасти меня?

ответ

0

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

Эта цитата из Apple Docs, хотя и не является окончательной, подразумевает, что это невозможно, поскольку невозможно определить, какое приложение, если оно есть, откроется.

** Примечание. Если для обработки одной и той же схемы URL-адресов зарегистрировано более одного стороннего приложения, в настоящее время нет процесса определения того, какое приложение будет присвоено этой схеме.


Если вы уже знаете, какие приложения вы хотите проверить, установлены, этот метод должен возвращать ДА:

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"myScheme://"] 
+0

На самом деле, я могу уже открыть любое приложение. Проблема в том, что я должен предопределить схему для открытия этих приложений, например, для facebook, мне нужно будет создать NSString с @ "fb:", чтобы открыть ее, и я не хочу делать эту ручную работу. Я хочу сделать, чтобы получить схему, которая открывает определенное приложение от его имени. Я хочу перейти от Facebook к fb :. Но им почти вывод, что невозможно – BloodOnMyBlade

Смежные вопросы