Wie kommuniziert Xcode mit einem iOS-Gerät?

2

Ich kann ein iOS-Gerät anschließen und Xcode anweisen, meine App auf diesem Gerät auszuführen oder anzuhalten. Ich kann die App jederzeit pausieren lassen und den Debugger verwenden, um die laufende App zu debuggen. Wie ist das alles möglich? Unter iOS muss es eine Art Hintergrundprozess geben, der als Verbindung zwischen Xcode und dem Debugger und iOS fungiert.

moonman239
quelle

Antworten:

1

Wenn Sie das iPhone mit Xcode verbinden und auf "Für Entwicklung verwenden" klicken, lädt Xcode DDI (Developer Disk Image) herunter und hängt es ein. In diesem Image ist DebugServer.app zusammen mit anderen Dienstprogrammen enthalten, mit denen Xcode Entwicklungsaktionen ausführen kann.

Xavier Perarnau
quelle
0

Es gibt eine Reihe von Diagnosediensten, die auf iOS-Geräten im Hintergrund ausgeführt werden.

Ich glaube, Apple hat die Art und Weise, wie Xcode Prozesse auf iOS-Geräten kommuniziert und steuert, nicht vollständig dokumentiert. Nach einer Präsentation des Sicherheitsforschers Jonathan Zdziarski auf einer Hackerkonferenz im Jahr 2014 hat Apple jedoch einige Hintergrundprozesse dokumentiert, die den Zugriff auf Daten ermöglichen iOS-Geräte.

Zum Beispiel...

com.apple.mobile.house_arrest

house_arrest wird von iTunes zum Übertragen von Dokumenten auf und von einem iOS-Gerät für Apps verwendet, die diese Funktionalität unterstützen. Dies wird auch von Xcode verwendet, um die Übertragung von Testdaten auf ein Gerät zu unterstützen, während eine App entwickelt wird.

https://support.apple.com/de-de/HT203034

Alistair McMillan
quelle