handleOpenURL работает только когда приложение уже запущено, вылетает при закрытии приложения - PullRequest
0 голосов
/ 04 января 2012

Я использую схемы URL, чтобы иметь возможность открывать мое приложение с помощью URL.Он работает нормально, когда приложение получателя работает .

Проблема, однако, заключается в том, если приложение закрыто .Если я наберу URL-адрес в Safari, например, приложение запускается и сразу падает, и мне дают:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

Тема 1: Программа получила сигнал: "SIGKILL"

У меняпоместите NSLog в didFinishLaunchingWithOptions, но похоже, что он никогда не будет запущен, как и handleOpenURL.

Почему он это делает?

1 Ответ

1 голос
/ 04 января 2012

Я бы предложил две вещи:

  1. В XCode 4 - выберите меню «Продукт» -> «Редактировать схему», а затем на вкладке «Информация» установите переключатель «Запуск», чтобы дождаться запуска приложения.
  2. На вкладке аргументов в разделе Переменные среды - введите NSZombieEnabled со значением YES.

Затем - я запустил бы приложение из XCode, и оно будет ждать, пока вы не введете URLСафари.В этот момент вы находитесь в отладчике и, возможно, сможете получить больше информации.

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

И, наконец, если это происходит на устройстве (а не только в симуляторе), иногда в консоли организатора появляется дополнительная информация.

...