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:
Mac için Visual Studio mevcut çözüme Xamarin.Forms sağ tıklayın ve Yeni Proje Ekle>... seçeneğini belirleyin.
Yeni Proje penceresinde Mac > Uygulaması > Cocoa Uygulaması'nı seçin ve İleri'ye basın.
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.
Yapılandırmayı gözden geçirin ve Oluştur'a basın. Bu adımlar aşağıda gösterilmiştir:
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.
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).
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); } }
uygulamasını başlatmak için güncelleştirin
AppDelegate
, bir pencere oluşturun ve uygulamayı yükleyin Xamarin.Forms (uygunTitle
bir 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); } }
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):
İstenmeyen öğeleri kaldırmak için görsel taslaktaki menü sistemini düzenleyebilirsiniz.
Son olarak, gerekli olan mevcut platform projelerinden tüm yerel kaynakları (ör. görüntü dosyaları) ekleyin.
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 AppDelegate
baş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.