Отладка приложения при запуске с помощью Push-уведомления
в настоящее время я разрабатываю приложение, которое получает уведомления толчка. У меня все это работает на 100% через PHP-страницу. Существует несколько различных типов push-уведомлений, которые может получать мое приложение. PHP обрабатывает это и отправляет различные пакеты информации в мое приложение, которые все получены просто отлично.
однако, когда пользователи "просматривают" уведомление и запускают мое приложение, я, очевидно, хочу предпринять другое действие, чем если бы пользователь просто запустил приложение вручную-и кроме того, различные действия в зависимости от типа push-уведомления. У меня это работает нормально... структурно.
один из моих типов push должен открыть UIView, который делает несколько подключений к нескольким различным серверам и согласовывает данные взад и вперед. Этот UIView отлично работает, когда, например, запускается из главного меню - однако, когда мое push-уведомление запускает этот UIView, соединения сокетов не действуют как ожидаемый.
теперь мой вопрос не о сокетах, а более того - как вы отлаживаете такую проблему?? Из того, что я могу сказать (я относительно новый), когда приложение запускается из push-уведомления, нет способа связать это выполнение с отладчиком / консолью / и т. д... У меня очень трудное время, пытаясь отладить код с помощью UIAlertViews, так как есть много линий связи между различными серверами.
любой совет у вас есть для меня будет очень признателен.
5 ответов:
в XCode = 4 см. ответ delirus ниже) Теперь вы можете настроить Xcode для подключения отладчика к приложению после его запуска вместо запуска приложения через отладчик. Это позволяет отлаживать вещи, которые зависят от состояния запуска вашего приложения, такие как схемы url, папки и push-уведомлений.
- в Xcode посмотрите в исходную строку, а ниже целей будут исполняемые файлы.
- вызовите инспектора для ваше приложение в исполняемых файлах.
- перейдите на вкладку отладка в инспекторе.
- снимите флажок "запустить исполняемый файл после запуска отладчика"
- Проверьте "ждать следующего запуска / уведомления толчка"
теперь, когда вы нажимаете кнопку отладка из Xcode вместо запуска приложения появится окно, сообщающее, что оно ждет запуска приложения. Затем вы запускаете приложение обычно на телефоне и Xcode прикрепляется к нему
для Xcode 4 Вы должны:
- редактировать активную схему с помощью Выпадающий список "схемы". (⌘+)
- чем выбрать свой продукт - ' Run Приложение myapp.приложение слева.
- выберите вкладку "Информация" справа.
- и, наконец, выберите " ждать Приложение myapp.приложение для запуска " вариант.
больше здесь в разделе " Настройка исполняемых файлов в редакторе схем" раздел.
EDIT:
В случае, если вы пропустите журналы в GDB, см. Louis Gerbarg's комментарий его ответ.
Для XCode 10, 9, 8, 7 & 6:
- выберите схемы на панели инструментов (слева от устройства отладке с)
- выбрать Редактировать Схемы
- выберите Run в левой панели
- на запуск выберите дождитесь запуска исполняемого файла
- закройте редактор схем и Run ваш XCode проект
теперь вы можете отлаживать при запуске из уведомления, пользовательского url или нажав на значок приложения.
Я не работаю с push-уведомлениями, поэтому я не знаю точной работы push-уведомлений. Тем не менее, я бы попытался имитировать получение push-уведомления, позволяя основному методу вашей программы притворяться, что уведомление было опубликовано, если это возможно, или вызывая приложение:didFinishLaunchingWithOptions: UIApplicationDelegate метод из applicationDidFinishLaunching: метод.
чт-Ура, Даан
В Xcode 6:
- подключите iPhone к Macbook с USB
- запустите приложение на iPhone, нажав на значок
- в меню Xcode
Debug>Attach to Process> выбрать приложения
Comments