Udostępnij za pośrednictwem


Opcje konsolidatora Xamarin.Mac

Łączenie to zaawansowane narzędzie optymalizacji, które zmniejsza rozmiar aplikacji przez usunięcie nieużywanego kodu.

Omówienie

W zależności od struktury docelowej używanej przez projekt opcje konsolidatora mogą być ograniczone. Wynika to z faktu, że łączenie wymaga utworzenia grafu obiektów każdego typu używanego przez aplikację i nie jest to możliwe w trybie pełnym (lub nieobsługiwanym) ze względu na system.Configuration.

Dostępne są cztery opcje:

  • Brak — wyłącz wszystkie łącza. Wartość domyślna w obszarze Konfiguracja debugowania w nowoczesnej i wszystkich konfiguracjach w trybie pełnym.
  • SDK — łączy wszystkie zestawy SDK z wyłączeniem zestawów użytkowników. Wartość domyślna w konfiguracji wydania w nowoczesnej wersji. Niedostępne w trybie pełnym.
  • Full — połącz wszystkie zestawy. Wymaga to bezpiecznego łączenia kodu użytkownika, zobacz uwagi , aby uzyskać więcej informacji. Niedostępne w trybie pełnym.
  • Platforma — połącz tylko Xamarin.Mac.dll. Aby uzyskać szczegółowe informacje, zobacz poniżej.

Łączenie platformy

Łączenie aplikacji przy użyciu pełnej platformy docelowej jest zwykle niebezpieczne, ale istnieje wiele scenariuszy, w których wymagana jest bardzo ograniczona forma łączenia.

Na przykład aplikacje przesłane do sklepu z aplikacjami systemu macOS nie mogą odwoływać się do wielu przestarzałych interfejsów API (takich jak QTKit), z których niektóre platformy Xamarin.Mac zawierają powiązania. Nawet jeśli aplikacje nie wywołają tych powiązań, wywołanie będzie istnieć w zestawie SDK i zostanie odrzucone.

Łączenie platformy zakłada, że aplikacja i lista BCL są niebezpieczne i po prostu usuwają nieużywany kod z Xamarin.Mac.dll.

Wszystkie aplikacje, które nie odzwierciedlają typów Xamarin.Mac.dll, będą widzieć drobne ulepszenia uruchamiania po usunięciu niepotrzebnych typów.

Łączenie platform jest ogólnie przydatne tylko w przypadku aplikacji korzystających z pełnej platformy docelowej, ponieważ nowoczesna aplikacja może korzystać z bardziej zaawansowanych opcji zestawu SDK.

Ustawianie konfiguracji konsolidatora

Aby zmienić konfigurację konsolidatora dla projektu platformy Xamarin.Mac, wykonaj następujące czynności:

  1. Otwórz projekt Xamarin.Mac w Visual Studio dla komputerów Mac.

  2. W Eksplorator rozwiązań kliknij dwukrotnie plik projektu, aby otworzyć okno dialogowe Opcje projektu.

  3. Na karcie Kompilacja dla komputerów Mac wybierz typ zachowania konsolidatora, który odpowiada potrzebom aplikacji:

    Choose which linker behavior to use

  4. Łączenie platform dla pełnych platform docelowych nie będzie wyświetlane w środowisku IDE do czasu przyszłej aktualizacji. Do tego czasu dodaj --linkplatform do dodatkowych argumentów mmp.

  5. Kliknij przycisk OK, aby zapisać zmiany.