Mac Platform Kurulumu

Başlamadan önce proje oluşturun (veya var olan bir projeyi kullanın). Xamarin.Forms Mac uygulamalarını yalnızca Mac için Visual Studio kullanarak ekleyebilirsiniz.

Videoya macOS projesi Xamarin.Forms ekleme

Mac Uygulaması Ekleme

macOS Sierra ve macOS El Capitan'da çalışacak bir Mac uygulaması eklemek için şu yönergeleri izleyin:

  1. Mac için Visual Studio mevcut çözüme Xamarin.Forms sağ tıklayın ve Yeni Proje Ekle>... seçeneğini belirleyin.

  2. Yeni Proje penceresinde Mac > Uygulaması > Cocoa Uygulaması'nı seçin ve İleri'ye basın.

  3. Bir Uygulama Adı yazın (ve isteğe bağlı olarak Dock Öğesi için farklı bir ad seçin), ardından İleri'ye basın.

  4. Yapılandırmayı gözden geçirin ve Oluştur'a basın. Bu adımlar aşağıda gösterilmiştir:

    Animated instructions showing how to add a Cocoa app

  5. Mac projesinde, NuGet'i eklemek için Paketler > Paket Ekle... öğesine Xamarin.Forms sağ tıklayın. NuGet paketinin aynı sürümünü Xamarin.Forms kullanmak için diğer projeleri de güncelleştirmeniz gerekir.

  6. Mac projesinde, Başvurular'a sağ tıklayın ve projeye bir başvuru Xamarin.Forms ekleyin (Paylaşılan Proje veya .NET Standart kitaplık projesi).

    Add a reference to the Xamarin.Forms shared code project

  7. Main.cs'yi başlatmak için güncelleştirin:AppDelegate

    static class MainClass
    {
        static void Main(string[] args)
        {
            NSApplication.Init();
            NSApplication.SharedApplication.Delegate = new AppDelegate(); // add this line
            NSApplication.Main(args);
        }
    }
    
  8. uygulamasını başlatmak için güncelleştirinAppDelegate, bir pencere oluşturun ve uygulamayı yükleyin Xamarin.Forms (uygun Titlebir ayarlamayı unutmayın).Xamarin.Forms Başlatılması gereken başka bağımlılıklarınız varsa, bunu burada da yapın.

    using Xamarin.Forms;
    using Xamarin.Forms.Platform.MacOS;
    // also add a using for the Xamarin.Forms project, if the namespace is different to this file
    ...
    [Register("AppDelegate")]
    public class AppDelegate : FormsApplicationDelegate
    {
        NSWindow window;
        public AppDelegate()
        {
            var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;
    
            var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768);
            window = new NSWindow(rect, style, NSBackingStore.Buffered, false);
            window.Title = "Xamarin.Forms on Mac!"; // choose your own Title here
            window.TitleVisibility = NSWindowTitleVisibility.Hidden;
        }
    
        public override NSWindow MainWindow
        {
            get { return window; }
        }
    
        public override void DidFinishLaunching(NSNotification notification)
        {
            Forms.Init();
            LoadApplication(new App());
            base.DidFinishLaunching(notification);
        }
    }
    
  9. Xcode'da düzenlemek için Main.storyboard'a çift tıklayın. Pencere'yi seçin ve İlk Denetleyicidir onay kutusunun işaretini kaldırın(bunun nedeni yukarıdaki kodun bir pencere oluşturmasıdır):

    Uncheck the Is Initial Controller checkbox in Xcode

    İstenmeyen öğeleri kaldırmak için görsel taslaktaki menü sistemini düzenleyebilirsiniz.

  10. Son olarak, gerekli olan mevcut platform projelerinden tüm yerel kaynakları (ör. görüntü dosyaları) ekleyin.

  11. Mac projesi artık kodunuzu macOS üzerinde çalıştırmalıdır Xamarin.Forms !

Sonraki Adımlar

Stil Oluşturuluyor

Yaptığınız son değişikliklerle OnPlatform artık istediğiniz sayıda platformu hedefleyebilirsiniz. Buna macOS dahildir.

<Button.TextColor>
    <OnPlatform x:TypeArguments="Color">
        <On Platform="iOS" Value="White"/>
        <On Platform="macOS" Value="White"/>
        <On Platform="Android" Value="Black"/>
    </OnPlatform>
</Button.TextColor>

Şunun gibi platformlarda da iki katına çıkabileceğinizi unutmayın: <On Platform="iOS, macOS" ...>.

Pencere Boyutu ve Konumu

penceresindeki pencerenin AppDelegatebaşlangıç boyutunu ve konumunu ayarlayabilirsiniz:

var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768);  // x, y, width, height

Bilinen Sorunlar

Bu bir Önizleme olduğundan, her şeyin üretime hazır olmamasını beklemeniz gerekir. Projelerinize macOS eklerken karşılaşabileceğiniz birkaç şey aşağıdadır:

Tüm NuGet'ler macOS için hazır değildir

Kullandığınız bazı kitaplıkların henüz macOS'u desteklemediğini fark edebilirsiniz. Bu durumda, projenin bakımcısına eklemek için bir istek göndermeniz gerekir. Destek gelene kadar alternatifleri aramanız gerekebilir.

Eksik Xamarin.Forms Özellikler

Bu önizlemede tüm Xamarin.Forms özellikler tamamlanmaz. Daha fazla bilgi için GitHub deposunda platform desteği macOS durumu Xamarin.Forms bölümüne bakın.