2017-07-26 4 views
0

Vor ein paar Jahren schrieb und debuggte ich eine Apple Watch App mit dem WatchOS 1 SDK. Ich arbeite jetzt an einer neuen Watch App mit dem watchOS 3 SDK.Debuggen des iOS-Teils der Apple Watch App im Simulator

Der Watch App Teil kann debugged werden. Ich kann Breakpoints setzen und durchgehen. Ich verwende jedoch das WatchConnectivity-Framework, um Informationen aus der iOS-App abzurufen. Dies funktioniert nicht und ich kann es nicht debuggen.

Wenn ich das WatchApp-Schema in Xcode starte, werden zwei Simulatoren gestartet, einer für die iOS-App und einer für die WatchApp. Ich sehe, dass die WatchApp startet, aber nicht die iOS App. Wenn das iOS zuvor ausgeführt wurde, scheint es zu sein, dass es getötet wurde.

Ich legte einen Haltepunkt auf die Anwendung: didFinishLaunchingWithOptions: in der iOS-App, Methode, aber dieser Haltepunkt wird nie getroffen. Sollte es sein.

Ich kann mich nicht erinnern, diese Probleme vor ein paar Jahren zu haben, als ich das durchmachte.

Soll das WatchApp-Schema automatisch ausgeführt werden und die iOS-App debuggen? Sollte mein didFinishLaunchingWithOptions: Breakpoint getroffen werden?

Die andere Sache, die irgendwie seltsam ist und ein Hinweis sein kann, ist, dass die External Displays-Liste im iOS-Simulator nie zeigt, dass die App angezeigt wird. Ich würde denken, dass es sollte.

Ich habe versucht, das Projekt zu säubern, Xcode neu zu starten und sogar meinen Computer neu zu starten. Keine Freude.

+0

Machen Sie genau das, was Sie tun, starten Sie Watch-Schema, dann manuell starten Sie Ihre App in iOS-Sim, in Xcode, gehen Sie zu Debug (nicht Menü vom Simulator) und anhängen zu verarbeiten – GIJOW

Antwort

1

Nein, iOS und WatchApp haben unterschiedliche Ziele. Wenn Sie also eines von Xcode starten, wird das andere nicht automatisch gestartet.

Sie müssen einen von ihnen mit Xcode in der üblichen Weise starten, dann starten Sie die andere App manuell aus dem jeweiligen Simulator, als in Xcode Debug>Attach to Process verwenden, um beide Anwendungen im Debugger zu sehen.