2016-07-13 20 views
1

Ich denke über die Portierung einer .NET-basierten Desktop-Anwendung auf Mac mit der Xamarin.Mac-Plattform nach. Ich kann anscheinend keine Informationen über die Deployment-Größe der resultierenden Anwendung finden. Ist es wie die Xamarin iOS-Entwicklung, d. H. Der C# -Code wird nativ in Mac-Code kompiliert und ich muss mich nicht um die Verteilung der .NET-Laufzeit kümmern? Wenn nein, wie groß ist dann die .NET-Laufzeit, die ich mit meiner Anwendung verteilen muss?Xamarin-basierte Mac OSX-App-Implementierungsgröße

Antwort

3

Xamarin.Mac Apps sind in sich abgeschlossen und erfordern kein separates Mono-Framework, das installiert werden muss. Nur die Teile des Frameworks, die von Ihrer App verwendet werden, sind im App-Paket enthalten, um die Größe so klein wie möglich zu halten.

A x86_64 Xamarin.Mac Cocca Hallo Welt Xamarin.Mac Mobil-Framework basierte App mit dem Linker auf:

  • Nicht-Link: ~ 48MB
  • Link-Framework-SDKs Nur: ~ 20mb
  • Link-All: ~ 20MB
Hinweis

: Größen basierend auf Xamarin.Mac 2.9.2.81

Hinweis: Mit den anderen Xamarin.Mac Frameworks werden natürlich etwas größere Gebindegrößen produzieren ...

Hinweis: Dies ist ein nichts App tun, so Sobald Sie mit dem Hinzufügen von Assets, Inhalten, Code, externen Paketen usw. begonnen haben, wird Ihre App-Größe wachsen.

Xamarin.Mac Apps werden nicht über LLVM in Bit-Code und/oder Maschinencode wie Apps kompiliert. Es gibt einige alte E-Mail-Threads schweben herum, dass dies begann zusammen mit AOTing betrachtet, aber ich angenommen Mangel an Nachfrage vs Engineering Zeit erforderlich war nie gerechtfertigt.

Hinweis: Es ist möglich, ein benutzerdefiniertes OS-X-Mono-Build zu verwenden, das LLVM-fähig ist. Dies ist jedoch nicht in x86_64-basierten Mono OS-X-Apps für die App Store-Verteilung, sondern nur in lokalen Apps für den privaten Vertrieb erfolgt . Dies ist alles außerhalb von Xamarin Studio und nicht eine unterstützt Konfiguration. Das heißt, und mit beginnen Open-Source jetzt, wenn Sie Xamarin.Mac Mobile Framework in Ihrer OS-X-App, die das gemeinsame Unified-Framework ist, können Sie eine Mono/LLVM-basierte Build-Umgebung, aber wieder verdrahten , keine von Xamarin unterstützte Konfiguration.