Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Перед началом создайте (или используйте существующий) Xamarin.Forms проект. Приложения Mac можно добавлять только с помощью Visual Studio для Mac.
Добавление проекта macOS в Xamarin.Forms видео
Добавление приложения Mac
Следуйте этим инструкциям, чтобы добавить приложение Mac, которое будет работать в macOS Sierra и macOS El Capitan:
В Visual Studio для Mac щелкните правой кнопкой мыши существующее Xamarin.Forms решение и выберите добавить > новый проект...
В окне "Новый проект" выберите > приложение Mac App > Cocoa и нажмите кнопку "Далее".
Введите имя приложения (и при необходимости выберите другое имя для элемента док-станции), а затем нажмите кнопку "Далее".
Просмотрите конфигурацию и нажмите клавишу CREATE. Ниже приведены следующие действия.

В проекте Mac щелкните правой кнопкой мыши пакеты "Добавить пакеты > ", чтобы добавить Xamarin.Forms NuGet. Кроме того, следует обновить другие проекты, чтобы использовать ту же версию Xamarin.Forms пакета NuGet.
В проекте Mac щелкните правой кнопкой мыши ссылки и добавьте ссылку на Xamarin.Forms проект (общий проект или проект библиотеки .NET Standard).

Обновление Main.cs для инициализации
AppDelegate:static class MainClass { static void Main(string[] args) { NSApplication.Init(); NSApplication.SharedApplication.Delegate = new AppDelegate(); // add this line NSApplication.Main(args); } }Обновите
AppDelegateдля инициализации Xamarin.Forms, создайте окно и загрузите Xamarin.Forms приложение (не забудьте задать соответствующийTitleпараметр). Если у вас есть другие зависимости, которые необходимо инициализировать, сделайте это здесь также.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); } }Дважды щелкните Main.storyboard для редактирования в Xcode. Выберите окно и un проверка поле "Начальный контроллер" проверка (это связано с тем, что приведенный выше код создает окно):
Вы можете изменить систему меню в раскадровке, чтобы удалить нежелательные элементы.
Наконец, добавьте все локальные ресурсы (например, файлы изображений) из существующих проектов платформы, необходимых.
Теперь проект Mac должен запустить Xamarin.Forms код в macOS!
Next Steps
Стили
С помощью последних изменений, внесенных в эту версию OnPlatform , теперь можно нацелиться на любое количество платформ. Это включает macOS.
<Button.TextColor>
<OnPlatform x:TypeArguments="Color">
<On Platform="iOS" Value="White"/>
<On Platform="macOS" Value="White"/>
<On Platform="Android" Value="Black"/>
</OnPlatform>
</Button.TextColor>
Обратите внимание, что вы также можете удвоиться на платформах, как показано ниже <On Platform="iOS, macOS" ...>.
Размер окна и положение
Вы можете настроить начальный размер и расположение окна в следующих AppDelegateэлементах:
var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768); // x, y, width, height
Известные проблемы
Это предварительная версия, поэтому следует ожидать, что не все готово к работе. Ниже приведены некоторые моменты, которые могут возникнуть при добавлении macOS в проекты:
Не все NuGet готовы к работе с macOS
Возможно, некоторые из используемых библиотек еще не поддерживают macOS. В этом случае необходимо отправить запрос в поддержку проекта, чтобы добавить его. До тех пор, пока у них не будет поддержки, вам может потребоваться найти альтернативные варианты.
Отсутствующие Xamarin.Forms функции
В этой предварительной версии не все Xamarin.Forms функции завершены. Дополнительные сведения см. в разделе "Состояние macOS для поддержки платформы" в репозитории Xamarin.Forms GitHub.
