Ich habe mehrere andere Beiträge zu SO und anderswo über diesen Fehler (System.InvalidOperationException: You MUST call Xamarin.Forms.Init(); prior to using it. at Xamarin.Forms.Device.get_PlatformServices
) gesehen, aber keiner von ihnen wirft ein Licht auf meine besondere Situation.Xamarin Forms Fehler - 'Sie müssen Xamarin.Forms.Init() aufrufen; Vor der Verwendung '- TestFlight (iOS) nur
Ich habe eine Xamarin.Forms-Anwendung erstellt, die auf Android-Geräten (Emulatoren und Geräten, einschließlich der Verteilung über Google Play) hervorragend funktioniert und sowohl auf dem iPhone-Simulator als auch auf dem iPhone funktioniert. Und wenn ich sage "funktioniert gut", meine ich "ist in der Lage, ohne Fehler auf die MainPage zu gelangen."
Wenn ich jedoch die Ad-Hoc-Bereitstellung verwende und sie auf Apple hochläd, damit sie mit TestFlight verteilt werden kann, zeigt die von TestFlight heruntergeladene Version den Begrüßungsbildschirm wie erwartet an und stürzt dann ab, ohne die MainPage anzuzeigen. Beim Betrachten der Geräteprotokolle wird der obige Fehler angezeigt, und bei einigen Internetuntersuchungen wurde deutlich, dass mein AppDelegate global::Xamarin.Forms.Forms.Init();
als erste Zeile in der FinishedLaunching()
-Methode haben muss.
Also ging ich, um einen Blick darauf zu werfen und diese Zeile in diese Methode in dieser Datei zu setzen, und siehe da, es ist schon da. Dies ist nicht unerwartet, angesichts der Tatsache, dass die App auf der SIM funktioniert, und auf dem iPhone bei der Bereitstellung direkt aus Visual Studio.
Also meine Frage ist "Warum schlägt Ad-Hoc-Bereitstellung fehl, wenn alle anderen Bereitstellungstypen nicht, und was kann ich tun, um dieses Problem zu beheben und die App tatsächlich über TestFlight in ausführbarer Weise zu verteilen?"