Как использовать [[UIApplication sharedApplication] openURL:] открыть другое приложение? - PullRequest
3 голосов
/ 25 мая 2011

Я следовал http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html инструкции по открытию app1 (GlassButton) внутри app2 (FontTest).

Метод открытия FontTest выглядит следующим образом:

-(void)open {

  BOOL res = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"glassbutton://"]];

  if (res) {

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"glassbutton://"]];

  }

}

Значениеres - это «YES», но после вызова метода openURL ничего не происходит.Информационный список «FontTest» выглядит следующим образом:

URL Schemes: glassbutton

URL identifier: com.yourcompany.glassbutton

Я попытался открыть приложения Twitter и Facebook с помощью «twitter: //» и «fb: //».Но я не знаю, почему я не могу открыть это маленькое приложение.Я не уверен, что какая-то вещь / шаг неправильный или отсутствует?Нужно ли мне обрабатывать - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url для FontTest, если да, то как это сделать?Не могли бы вы помочь мне?Заранее спасибо!

1 Ответ

3 голосов
/ 15 июня 2012

Чтобы запросить запуск вашего приложения, используйте что-то вроде этого:

NSString *urlString= @"glassbutton://com.yourcompany.glassbutton";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

Затем в приложении glassbutton вам нужно будет обработать любое специальное поведение в методе делегата приложения:

 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

    //your app specific code here for handling the launch

    return YES;
 }

Обратите внимание, что в приложении, которое вы открываете, вышеупомянутый метод делегата будет вызываться только ПОСЛЕ следующего вызова метода:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

Обрабатывать соответственно, удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...