Obecnie pracuję nad aplikacją, która odbiera powiadomienia push. Mam to wszystko działające w 100% przez stronę PHP. Jest kilka różnych typów powiadomień push, które może otrzymywać moja aplikacja. PHP obsługuje to i wysyła różne pakiety informacji do mojej aplikacji, z których wszystkie są dobrze odbierane.
Jednak gdy użytkownicy „wyświetlają” powiadomienie i uruchamia się moja aplikacja, oczywiście chcę wykonać inne działanie niż gdyby użytkownik po prostu uruchomił aplikację ręcznie - a do tego różne działania w zależności od typu powiadomienia push. Mam to dobrze działające ... strukturalnie.
Jeden z moich typów wypychania ma otwierać UIView, który tworzy kilka połączeń z kilkoma różnymi serwerami i negocjuje dane w tę iz powrotem. To UIView działa dobrze, na przykład, gdy jest uruchamiane z menu głównego - jednak gdy moje powiadomienie wypychane wyzwala to UIView, połączenia gniazd nie działają zgodnie z oczekiwaniami.
Teraz moje pytanie nie dotyczy gniazd, a bardziej - jak debuguje się taki problem? Z tego, co mogę powiedzieć (jestem stosunkowo nowy), gdy aplikacja została uruchomiona z powiadomienia wypychanego, nie ma możliwości połączenia tego wykonania z debugerem / konsolą / itp ... Mam bardzo trudny czas próbując debugować kod za pomocą UIAlertViews, ponieważ istnieje wiele linii komunikacji między różnymi serwerami.
Każda rada, którą dla mnie masz, byłaby bardzo wdzięczna.
źródło
W przypadku Xcode 4 musisz:
Więcej tutaj w sekcji „Dostosowywanie plików wykonywalnych w edytorze schematów”.
EDYCJA:
Jeśli przegapisz logi w GDB, zobacz komentarz Louisa Gerbarga do jego odpowiedzi.
źródło
Dla XCode 10, 9, 8, 7 i 6:
Teraz możesz debugować podczas uruchamiania z powiadomienia, niestandardowego adresu URL lub dotykając ikony aplikacji.
źródło
Nie pracuję z powiadomieniami push, więc nie znam dokładnego działania powiadomień push. Jednak spróbuję naśladować odbiór powiadomienia push, pozwalając głównej metodzie programu udawać, że powiadomienie zostało wysłane, jeśli to możliwe, lub wywołując aplikację: didFinishLaunchingWithOptions: UIApplicationDelegate z metody applicationDidFinishLaunching :.
HTH - Pozdrawiam, Daan
źródło
W Xcode 6:
Debug
>Attach to Process
> Wybierz aplikacjęźródło
W przypadku XCode 11 i 10 możesz wykonać następujące czynności:
Wybierz opcję Edytuj schemat.
Wybierz opcję Uruchom z lewego panelu
W części dotyczącej uruchamiania wybierz poczekaj na uruchomienie pliku wykonywalnego , a następnie zamknij okno dialogowe.
Skompiluj i uruchom projekt. Możesz teraz uruchomić aplikację, dotykając ikony aplikacji lub dotykając powiadomienia.
źródło