2015-01-30 5 views
0

У меня есть настраиваемая схема URL-адресов и приложение TARGET, которое зарегистрировало эту схему для распознавания.URL-схема, не работающая с родным приложением iOS

Когда я запускаю приложение WEB в мобильном Safari, и я нажимаю кнопку в WEB-приложении, есть ссылка URL, предоставленная кнопкой, и запускается специальное приложение TARGET - это желаемое поведение.

Однако, если я запускаю собственное приложение SOURCE и реализую действие в UIButton, и там я вызываю appdelegate в openURL и передаю тот же URL-адрес, который используется в веб-приложении, приложение TARGET не запускается. Проверка [UIApplication canOpenURL] даже возвращает НЕТ, что странно, поскольку TARGET App DID правильно зарегистрировал эту схему URL-адресов, иначе это не сработает из веб-приложения.

Любая помощь?

PS: ИСТОЧНИК И ЦЕЛЬ - просто удобные названия для SO.

UPDATE:

- (IBAction)handleAction:(id)sender 
{ 
    NSString *urlString = @"nda://nda.undernda/actionundernda?someparamters.."; 

BOOL isURLSchemeRegistered = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlString]]; 

if (isURLSchemeRegistered == YES) 
    { 
     [[UIApplication sharedApplication] openURL:[NSURL  URLWithString:urlString]]; 
    } 
else 
    { 
    //go to appstore 
    } 
} 
+0

Там не хватает информации, чтобы ответить на ваш вопрос. Пожалуйста, поставьте схему, которую вы используете, а также примеры кода и снимок экрана настроек схемы. –

+0

Обновите свой вопрос, используя код, который вы используете для вызова 'openURL:'. – rmaddy

+0

, пожалуйста, предоставьте нам код, чтобы мы могли видеть, о чем вы говорите! – ApolloSoftware

ответ

1

Итак, проблема заключалась в том, что он имел URL символы, которые не ускользнули в кодировке UTF8.

Решение:

NSString *urlString = @"sorry..can't show this :("; 
NSString *escapedUrlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSURL *url =[ NSURL URLWithString:escapedUrlString]; 

[[UIApplication sharedApplication] openURL:url]; 
Смежные вопросы