Передача параметров по схеме URL
Я работаю над приложением, которое может быть запущено через URL. Я уже определил мою схему URL, используя xcode на странице информации. Я заполнил для идентификатора мой Bundle идентификатор и для схемы URL myapp.
Теперь, если я попытаюсь открыть в safari myapp://foo, он запустит мое приложение и остановится на моей точке останова в
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
метод.
Проблема заключается в аннотации, URL-адресе, приложении, параметрах приложения-источника равны нулю. Поэтому я не могу передать параметры...
2 ответа
После ненужной потери времени, я обнаружил, проблема была в отладчике. Это показывает, что URL ноль, и если я пытаюсь напечатать описание, он говорит
Printing description of url:
<nil>
Но если я пытаюсь NSLog, он показывает URL. И если поставить следующий код в методе
if (! url) {
return NO;
}
Отладчик показывает также URL.
Вы уверены, что ваш проект находится в режиме отладки!? Смотрите здесь http://nerdwa.com/index.php/2011/09/debugrelease-schemes-in-xcode-4/