没有 Mac 的 Xamarin Visual Studio IOS 开发? ?

我是一个。NET 开发人员,并希望在 C # 中编写一个 IOS 和 Android 应用程序。我已经阅读了 Xamarin for Visual Studio,它看起来很有趣,如果不是有点贵的话!

你需要 Mac 来调试你的代码吗?你只是需要一个联网的 Mac 来实际部署应用程序到商店吗?

最好的选择是买一台 Mac,然后在 VM 中运行带 VS 的 Windows,还是我可以只使用我的 Windows 机器,在 Windows 中编写和调试代码,然后挂接到联网的 Mac 上进行最终部署?

77937 次浏览

Yes, you must have a Mac to do Xamarin.iOS development. The Mac is required for building as well as running the iOS simulator. You can either use it as a build server, and actually do your development in Visual Studio (either in a standalone PC, or on a VM running on your Mac), or you can do your development directly on the Mac using Xamarin Studio as your IDE.

You can use Xamarin Studio instead of Visual Studio and build iOS application by C#. First install VMware Workstation and then download OS X image and run it by VMware.

Then Install tools on it and enjoy.

Tools :

EDIT : The following links are out dated, You must install Mac OS 10.10 in order to be able to install XCode 6.

iOS Tools that you need:

1) Mac OS X image for Windows Note: Max OS X Installation Help: http://www.sysprobs.com/easily-run-mac-os-x-10-8-mountain-lion-retail-on-pc-with-vmware-image

2) Mono: http://download.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-3.2.4.macos10.xamarin.x86.pkg

3) Xamarin Studio: http://download.xamarin.com/studio/Mac/XamarinStudio-4.2.1-1.dmg

4) MonoTouch: http://download.xamarin.com/MonoTouch/Mac/monotouch-7.0.4.209.pkg

5) Xcode

An option is to use a remote service to do this. For example: http://www.macincloud.com

Anybody know that a Virtual-Machine is the solution! but when you want to have an OSX on windows it's not really easy as you just talked about it. it's very important to find best OS ROM.

check it out here. and you have to know that limitation is Apple's doing, not Xamarin's.

From May 2017, you can develop app without MAC.

Microsoft Xamarin introduce a Live Player. With Live Player, iOS apps can be deployed directly onto an iPhone or other iDevice from a PC running Visual Studio, where the code can then be tested and debugged.


WARNING The Xamarin Live Player Preview has ended. But it changed Hot Reload. With this feature, you can develop iOS app with your iPhone See discussion

See this video: https://www.youtube.com/watch?v=awgZDL1a3YI

this is Live Player Get start section: Live Player

Note: The final build and submission to the App Store will still require a Mac

Device Requirements

The Xamarin Live Player app supports the following devices:

iOS

  • iOS 9.0 or later.
  • ARM64 processor.
  • Check the App Store for a list of supported devices.

Android

  • Android 4.2 or later.
  • ARM-v7a, ARM-v8a, ARM64-v8a, x86, or x86_64 processor.

Limitations

There are some limitations on the things Xamarin Live Player can run, including the items below:

  • Android user interfaces designed with AXML files are not currently supported.
  • Some iOS storyboard features are not supported.
  • iOS XIB files are not supported.
  • Custom Renderers are not supported.
  • Xamarin.Forms Effects are not supported.
  • Embedded resources are not supported (ie. embedding images or other resources in a PCL).
  • Limited support for reflection (currently affects some popular NuGets, like SQLite and Json.NET). Other NuGets are still supported.
  • Some system classes cannot be overridden (for example, you cannot implement a subclass).
  • Some platform features that require provisioning can't work in the Xamarin Live Player app (however it has been configured for common operations like camera access).
  • Custom targets and build steps are ignored. For example, tools like Fody cannot be incorporated.

Update 2018

Install VirtualBox https://www.virtualbox.org/

Install MacOs 10.13 on VirtualBox https://techsviewer.com/install-macos-high-sierra-virtualbox-windows/

Create or login with an apple account on the mac

Install XCode 9.0 https://download.developer.apple.com/Developer_Tools/Xcode_9/Xcode_9.xip

Enable Remote Login System Preferences > Sharing > Remote Login > Enable for All Users

Configure VirtualBox with an additional network adaptor (host-only)

In Windows > Visual Studio (Xamarin Project) > Pair with mac

Enter the IPaddress of the second network adaptor

Let Visual studio install Xamarin IOS, IOS SDK, additional tools on the Mac

All set up.

As someone that developed 3 Xamarin Forms apps, I would like to bring some points about the options:

Pair with a virtual Mac (VMWare, VirtualBox or cloud)

I worked this way for a while, but virtual machines consume a lot of hardware resources. Paid for a month to use a remote Mac, but the pairing and debugging process does not get much better.

Develop inside a virtual macOS

I have been using this option with good results. I just run everything on the macOS VMware virtual machine. Visual Studio and Emulator got a little slow (my CPU is i5 and 8GB ram), but is acceptable to make some adjusts. Advantages: Avoid pairing, Xcode to edit some resources, publishing.

Install macOS on Windows PC

This is kind of upgraded of previous suggestion. Didn't tested yet, but the performance should be better than VMWare if it works. They call this Hackintosh and is possible if your hardware is compatible.