В настоящее время я разрабатываю приложение, которое получает Push-уведомления. У меня все это работает на 100% через страницу PHP. Мое приложение может получать push-уведомления разных типов. PHP обрабатывает это и отправляет различные пакеты информации в мое приложение, которые все получаются просто отлично.
Однако, когда пользователи «просматривают» уведомление и запускает мое приложение, я, очевидно, хочу предпринять другое действие, чем если бы пользователь просто запустил приложение вручную - и, кроме того, различные действия в зависимости от типа push-уведомления. У меня это работает нормально ... конструктивно.
Предполагается, что один из моих типов push-уведомлений открывает UIView, который устанавливает несколько соединений с несколькими различными серверами и согласовывает данные туда и обратно. Этот UIView работает нормально, когда, например, запущен из главного меню - однако, когда мое push-уведомление вызывает появление этого UIView, сокетные соединения не работают должным образом.
Теперь мой вопрос не о сокетах, а о том, как вы решаете такую проблему? Из того, что я могу сказать (я относительно новичок), когда приложение запускается из push-уведомления, нет способа связать это выполнение с отладчиком / консолью / etc ... У меня очень трудное время при попытке отладки кода с использованием UIAlertViews, так как существует множество линий связи между различными серверами.
Буду очень признателен за любые ваши советы.
источник
Для Xcode 4 вы должны:
Подробнее здесь, в разделе «Настройка исполняемых файлов в редакторе схем».
РЕДАКТИРОВАТЬ:
В случае, если вы пропустите журналы в GDB, см. Комментарий Луи Гербарга к его ответу.
источник
Для XCode 10, 9, 8, 7 и 6:
Теперь вы можете отлаживать при запуске из уведомления, пользовательского URL-адреса или нажав на значок приложения.
источник
Я не работаю с push-уведомлениями, поэтому я не знаю точную работу push-уведомлений. Однако я бы попытался имитировать получение push-уведомления, позволив основному методу вашей программы сделать вид, что уведомление было опубликовано, если это возможно, или вызвав приложение: didFinishLaunchingWithOptions: UIApplicationDelegate из метода applicationDidFinishLaunching: метод.
HTH - Ура, Даан
источник
В Xcode 6:
Debug
>>Attach to Process
выберите свое приложениеисточник
Для XCode 11 и 10 вы можете сделать следующее:
Выберите Редактировать схему.
Выберите опцию «Выполнить» на левой панели
В части запуска выберите ожидание запуска исполняемого файла , затем закройте диалоговое окно.
Постройте и запустите проект. Теперь вы можете запустить приложение, нажав значок приложения или нажав на уведомление.
источник