Xamarin Hot Restart

Mit Xamarin Hot Restart können Sie Änderungen an Ihrer App während der Entwicklung, der Bearbeitung von Code in mehreren Dateien, Ressourcen und Verweisen schnell testen. Die neuen Änderungen am bestehenden App-Bundle werden an das Debugziel gepusht, wodurch ein wesentlich schnellerer Entwicklungs- und Bereitstellungszyklus ermöglicht wird.

Wichtig

Xamarin Hot Restart ist derzeit in Visual Studio 2019 Version 16.5 (stabil) verfügbar und unterstützt iOS-Apps mit Xamarin.Forms. Die Unterstützung für Visual Studio für Mac und Nicht-Xamarin.Forms-Apps befindet sich in Planung.

Anforderungen

  • Visual Studio 2019 Version 16.5 oder höher
  • iTunes (Microsoft Store- oder 64-Bit-Version)
  • Apple Developer-Konto und kostenpflichtige Registrierung beim Apple-Entwicklerprogramm

Erste Einrichtung

Hinweis

Xamarin Hot Restart ist standardmäßig für Visual Studio 16.8 und frühere Versionen deaktiviert. Sie können es unter Tools > Options > Environment > Preview Features > Enable Xamarin Hot Restart aktivieren aktivieren. Ab Visual Studio 16.9 ist Xamarin Hot Restart standardmäßig aktiviert und kann unter Extras > Optionen > Xamarin > iOS-Einstellungen > "Heißer Neustart aktivieren" deaktiviert werden.

  1. Stellen Sie sicher, dass das iOS-Projekt als Startupprojekt festgelegt und die Buildkonfiguration auf Debug|iPhone (Debuggen |iPhone) festgelegt ist.

    1. Wenn es sich um ein vorhandenes Projekt handelt, wechseln Sie zu Build > Configuration Manager... und stellen Sie sicher, dass Bereitstellen für das iOS-Projekt aktiviert ist.
  2. Wählen Sie Lokales Gerät in der Symbolleiste aus, und klicken Sie darauf, um den Setup-Assistenten zu starten:

    Screenshot: Visual Studio-Symbolleiste mit lokalem Gerät als Debugziel

  3. Wenn iTunes nicht installiert ist, klicken Sie auf Download iTunes (iTunes herunterladen), um den Installer herunterzuladen. Klicken Sie auf Weiter, wenn die iTunes-Installation fertiggestellt ist.

  4. Verbinden Sie ein iOS-Gerät mit Ihrem Computer. Wurde das Gerät bereits eingesteckt, stecken Sie es aus, und schließen Sie es erneut an. Der Gerätename wird im Assistenten angezeigt, sobald er erkannt wurde. Klicken Sie auf Weiter.

  5. Geben Sie Ihre Anmeldeinformationen für Ihr Apple Developer-Konto ein, und klicken Sie auf Weiter.

  6. Wählen Sie im Dropdownmenü ein Entwicklungsteam aus, um die automatische Bereitstellung im Projekt zu aktivieren. Klicken Sie auf Fertig stellen.

Hinweis

Die Verwendung der automatischen Bereitstellung wird empfohlen, damit zusätzliche iOS-Geräte einfach für die Bereitstellung konfiguriert werden können. Sie können diese jedoch deaktivieren und die manuelle Bereitstellung weiterhin verwenden, wenn die richtigen Bereitstellungsprofile vorhanden sind.

Verwenden von Xamarin Hot Restart

Nach der anfänglichen Einrichtung erscheint Ihr verbundenes Gerät im Dropdownmenü für das Debugziel. Wählen Sie Ihr Gerät im Dropdownmenü aus, und klicken Sie auf die Schaltfläche Ausführen, um Ihre App zu debuggen. Möglicherweise wird Ihnen in Visual Studio eine Benachrichtigung mit der Bitte angezeigt, die App auf dem Gerät manuell zu starten, um die Debugsitzung zu beginnen.

Sie können während des Debuggens Änderungen an Ihren Codedateien vornehmen und dann die Schaltfläche Neu starten in der Debugsymbolleiste drücken oder STRG+Umschalt+F5 verwenden, um die Debugsitzung mit Ihren neuen Änderungen neu zu starten:

Screenshot: Debugsymbolleiste mit der hervorgehobenen Schaltfläche „Neu starten“

Sie können auch das Präprozessorsymbol HOTRESTART verwenden, um die Ausführung von bestimmtem Code beim Debuggen mit Xamarin Hot Restart zu verhindern.

Einschränkungen

  • Nur iOS-Apps, die mit Xamarin.Forms und iOS-Geräten erstellt wurden, werden derzeit unterstützt.
  • Nur 64-Bit-iOS-Geräte werden unterstützt. Ab iOS 11 ist es nicht mehr möglich, iOS-Apps in der 32-Bit-Architektur (Geräte vor iPhone 5S) auszuführen.
  • Storyboard- und XIB-Dateien werden nicht unterstützt, und die Anwendung kann abstürzen, wenn sie versucht, diese zur Laufzeit zu laden. Verwenden Sie das Präprozessorsymbol HOTRESTART, um die Ausführung dieses Codes zu verhindern.
  • Statische iOS-Bibliotheken und -Frameworks werden nicht unterstützt. Es kann zu Laufzeitfehlern oder Abstürzen kommen, wenn Ihre App versucht, diese zu laden. Verwenden Sie das Präprozessorsymbol HOTRESTART, um die Ausführung dieses Codes zu verhindern. Dynamische iOS-Bibliotheken werden unterstützt.
  • Sie können Xamarin Hot Restart nicht verwenden, um App-Bundles für die Veröffentlichung zu erstellen. Sie benötigen weiterhin einen Mac, um eine vollständige Kompilierung, Signierung und Bereitstellung Ihrer Anwendung für die Produktion durchzuführen.
  • Ressourcenkataloge werden derzeit nicht unterstützt. Wenn Sie Hot Restart verwenden, werden in Ihrer App Standardsymbol und Standardstartbildschirm für Xamarin-Apps angezeigt. Bei Kopplung mit oder Entwicklung auf einem Mac funktionieren Ihre Ressourcenkataloge.

Problembehandlung

  • Es gibt ein bekanntes Problem, bei dem durch aktivierte gerätespezifische Builds verhindert wird, dass die App in den Debugmodus wechselt. Problemumgehung besteht darin, dies unter Eigenschaften > iOS build and retry debugging zu deaktivieren. Dieses Problem wird in einem kommenden Release behoben.
  • Wenn die App bereits auf dem Gerät vorhanden ist, kann der Versuch der Bereitstellung mit Hot Restart mit einem AMDeviceStartHouseArrestService-Fehler fehlschlagen. Das Problem kann umgangen werden, indem die App auf dem Gerät deinstalliert wird und dann noch mal bereitgestellt wird.
  • Die Eingabe einer Apple-ID, die nicht Teil des Apple-Entwicklerprogramms ist, kann zu folgendem Fehler führen: Authentication Error. Xcode 7.3 or later is required to continue developing with your Apple ID. Sie benötigen ein gültiges Apple Developer-Konto, um Xamarin Hot Restart auf iOS-Geräten verwenden zu können.

Um weitere Probleme zu melden, verwenden Sie das Feedbacktool unter Hilfe senden > Feedback > Melden eines Problems.