Meine Anwendung debuggt einwandfrei auf dem iOS-Simulator, und es läuft gut, wenn ich eine ipa-Datei auf dem Gerät erstellen und bereitstellen. Wenn ich jedoch versuche, auf dem Gerät zu debuggen (iPhone 9.3.1 und iPad 9.3), stürzt die App beim Start sofort ab. Ich benutze Visual Studio mit Xamarin. Das Problem scheint Build / Konfiguration / Version bezogen zu sein, da es gut funktioniert auf den Simulator und IPA-Dateiversionen, aber ich kann das Problem einfach nicht herausfinden.
Visual Studio 2013-Update 5 Xamarin 4.0.3.214 Xamarin.iOS 9.6.1.8
Projektkonfigurationen zwischen Builds, die funktionieren und nicht funktionieren:
%Vor%Absturzbericht:
%Vor%Ich antworte auf der Grundlage der nativen App, dies kann passieren, wenn Sie Adhoc Provisional Profile auf die Option Debug in den Build-Einstellungen des Projekts setzen. Das bedeutet, dass Sie zum Debuggen Ihres Codes das provisorische Debug-Profil für das Debug-Profil festlegen müssen, nicht für das provisorische Adhoc-Profil.
Dies ist keine direkte Antwort auf Ihre Frage, sondern die MvvmCross-Quelle für MvxIosSystem.BuildVersion
, Zeile 27 scheint die ToArray
auszuführen, bei der App beim Zugriff auf ungültige Adressen abstürzt:
Könnte UIDevice.CurrentDevice.SystemVersion
etwas überraschend Unerwartetes durch das MvvmCross-Framework zurückgeben?
i.e. Wie würde version.Split('.').Select(int.Parse).ToArray()
diesen ungültigen Zugriff verursachen?
Vielleicht könnten Sie eine ähnliche Codezeile in Ihrer App verwenden, bevor der MvvmCross-Start erfolgt, um den Versionswert und hoffentlich mehr Hinweise zum Debuggen zu erhalten.
Ich habe dies in einem kleinen Xamarin.iOS-Projekt versucht, direkt in Main.cs, konnte aber nichts sehen, was das Problem verursachen würde - version
kam zurück "9.3.1" und parts
war ein Array int[3]
:
Ich habe auch versucht, einige Creative-Werte für version
anstelle von UIDevice.CurrentDevice.SystemVersion
zu ersetzen, aber alles, was ich generieren konnte, waren unbehandelte String-Format- oder Null-Referenz-Exceptions mit einem anderen iOS-Absturzprotokoll als das, was du gepostet hast.
Ich frage mich, ob das Zurücksetzen des Geräts das Problem beheben könnte, von dieser SO-Antwort auf eine ähnliche Frage.
Tags und Links ios xamarin.ios xamarin mvvmcross