2017-07-18 2 views
0

Ich habe zwei seltsame Probleme mit Xamarin.iOS:Sonderbare Xamarin.iOS Fehler nur mit Enable Debug auf (Ad-hoc/Release-Builds)

1) NavigationController.PushViewController richtig funktioniert mit Debug aktiviert und kann nicht mit Debug deaktiviert .

2) Bei deaktiviertem Debugging stürzt die App nach ca. 60 Sekunden ab, jedoch nicht auf dem Gerät abstürzen.

Zuerst bemerkte ich den Unterschied zwischen Debug und AdHoc Build. Aber jetzt, wenn ich AdHoc Build benutze und 'Debugging aktivieren' aktiviere, funktioniert es magisch ohne weitere Anpassungen der Einstellungen. Debug-Symbole werden entfernt und Debug-Informationen werden auf Keine gesetzt.

Ich sah zwei andere ähnliche Fragen in diesem Forum und Foren. Xamarin von vor ein paar Jahren ohne Antworten. Ich habe verschiedene Linker und Compiler und GC-Einstellungen für das Projekt ausprobiert, aber sie waren nicht hilfreich.

Hoffe jemand kann mir helfen.

Antwort

1

Sie können einen Hack verwenden, um mehr Informationen über den Absturz von einem Gerät zu erhalten. Da Ihr gesamter Code über mono runtime lauffähig ist, können Sie viele Abstürze problemlos abfangen, indem Sie Ihre UIAplication.Main-Funktion in einen try-catch-Block einschließen und die Ausnahmekette irgendwo auf dem Gerät speichern.

in Main.cs

public class Application { 
    static void Main(string[] args) { 
     try { 
      UIApplication.Main(args: args, principalClassName: null, delegateClassName: typeof(AppDelegate).Name); 
     } catch (Exception e) { 
      // save e.ToString() somewhere 
     } 
    } 
} 
+0

Vielen Dank für Ihre Antwort. Das fängt nichts ein. Fühlt sich ein bisschen wie iOS nur beendet die App? Wenn ich den Code hinzufüge, um zu testen, ob ich etwas auf die Festplatte geschrieben habe, ändert sich der Fehler ein wenig: Jetzt wird eine Ansicht einmal geöffnet und dann gestoppt. Ich habe einige Crash-Logs mit diesem: Ausnahmetyp: EXC_BREAKPOINT (SIGTRAP) Ausnahmecodes: 0x0000000000000001, 0x000000018c1ff398 Und: Ausnahmetyp: EXC_BAD_ACCESS (SIGABRT) Ausnahme Nebenart: KERN_INVALID_ADDRESS bei 0x0000000000000000 –

+0

Dann etwas, es ist ich wette falsch mit der Konfiguration. Überprüfen Sie Ihre Build-Optionen, gehen Sie alle Elemente durch und stellen Sie sicher, dass sie alle gleich sind. Versuchen Sie dann, das Problem im Debug-Build zu reproduzieren. (vielleicht entfernen Sie die Debug-Kontrolle von dort und prüfen, ob sie abstürzt) Debug-Informationen haben sehr wenig mit Absturz zu tun, Korrelation bedeutet nicht Kausalität. – Taier

+0

Danke! Dies half mir, einen Fehler zu finden, der das Problem verursacht hat. Die Ursache war, dass eine andere Ansicht zur selben Zeit geladen wurde, die dazu führte, dass eine Ansicht mehrmals gedrückt wurde. –