Передача параметров по схеме 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/

Другие вопросы по тегам