#iphone #uiapplication #openurl
#iPhone #uiapplication #openurl
Вопрос:
Я последовал http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html инструкция по открытию приложения 1 (GlassButton) в приложении 2 (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. Скажем, если glassbutton — это схема URL для другого приложения, тогда почему вы объявляете ее в
FontTest
‘sinfo.plist
. Это неправильно.2. Привет, Дипак, спасибо, что напомнил.
Ответ №1:
Чтобы запросить запуск вашего приложения, используйте что-то вроде этого:
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
Обрабатывайте соответственно, удачи.
Комментарии:
1. NSString *urlString= @»glassbutton://com.yourcompany.glassbutton»;
2. Кстати, что такое glassbutton?
3. Это была схема URL, упомянутая в исходном вопросе. Лучше всего предположить, что это была конкретная ссылка на рассматриваемое приложение или компанию, его производящую — вы можете указать свою схему URL по желанию в соответствующем разделе информационного списка вашего приложения.