Ich entwickle derzeit eine App, die Push-Benachrichtigungen erhält. Ich habe dies alles 100% über eine PHP-Seite arbeiten. Es gibt verschiedene Arten von Push-Benachrichtigungen, die meine App erhalten kann. Das PHP kümmert sich darum und sendet verschiedene Informationspakete an meine App, die alle einwandfrei empfangen werden.
Wenn die Benutzer die Benachrichtigung "anzeigen" und meine App gestartet wird, möchte ich natürlich eine andere Aktion ausführen als wenn der Benutzer die App nur manuell gestartet hätte - und zusätzlich unterschiedliche Aktionen, abhängig vom Push-Benachrichtigungstyp. Ich habe das gut funktioniert ... strukturell.
Einer meiner Push-Typen soll eine UIView öffnen, die mehrere Verbindungen zu mehreren verschiedenen Servern herstellt und Daten hin und her aushandelt. Dieses UIView funktioniert einwandfrei, wenn es beispielsweise über das Hauptmenü ausgelöst wird. Wenn jedoch meine Push-Benachrichtigung das Erscheinen dieses UIView auslöst, verhalten sich die Socket-Verbindungen nicht wie erwartet.
Jetzt geht es bei meiner Frage nicht um die Sockets, sondern um die Frage: Wie können Sie ein solches Problem beheben? Nach allem, was ich sagen kann (ich bin relativ neu), wenn die App über eine Push-Benachrichtigung gestartet wird, gibt es keine Möglichkeit, diese Ausführung mit dem Debugger / der Konsole / etc zu verknüpfen. Es fällt mir sehr schwer, den Code mit zu debuggen UIAlertViews, da zwischen den verschiedenen Servern viele Kommunikationswege hin und her bestehen.
Jeder Rat, den Sie für mich haben, wäre sehr dankbar.
quelle
Für Xcode 4 müssen Sie:
Mehr hier im Abschnitt "Anpassen von ausführbaren Dateien im Schema-Editor".
BEARBEITEN:
Falls Sie Protokolle in GDB verpassen, lesen Sie den Kommentar von Louis Gerbarg zu seiner Antwort.
quelle
Für XCode 10, 9, 8, 7 und 6:
Jetzt können Sie beim Starten über eine Benachrichtigung, eine benutzerdefinierte URL oder durch Berühren des App-Symbols debuggen.
quelle
Ich arbeite nicht mit Push-Benachrichtigungen, daher kenne ich die genaue Funktionsweise von Push-Benachrichtigungen nicht. Ich würde jedoch versuchen, den Empfang einer Push-Benachrichtigung nachzuahmen, indem ich die Hauptmethode Ihres Programms so tun lasse, als ob eine Benachrichtigung veröffentlicht wurde, oder die Anwendung aufruft: didFinishLaunchingWithOptions: UIApplicationDelegate-Methode aus der applicationDidFinishLaunching: -Methode heraus.
HTH - Prost, Daan
quelle
In Xcode 6:
Debug
>Attach to Process
> Wählen Sie Ihre Appquelle
Für XCode 11 und 10 können Sie Folgendes tun:
Wählen Sie Schema bearbeiten.
Wählen Sie im linken Bereich die Option Ausführen
Wählen Sie im Startteil die Option Warten auf den Start der ausführbaren Datei aus und schließen Sie den Dialog.
Erstellen Sie das Projekt und führen Sie es aus. Sie können die App jetzt entweder durch Tippen auf das App-Symbol oder durch Tippen auf die Benachrichtigungsnachricht starten.
quelle