没有 Mac 的 Xamarin Visual Studio IOS 开发?

Posted

技术标签:

【中文标题】没有 Mac 的 Xamarin Visual Studio IOS 开发?【英文标题】:Xamarin Visual Studio IOS Development Without a Mac? 【发布时间】:2014-10-19 22:28:12 【问题描述】:

我是一名 .NET 开发人员,想用 C# 编写一个 iosandroid 应用程序。我已经阅读了有关 Visual Studio 的 Xamarin 的文章,如果不是有点贵的话,它看起来很有趣!

您需要 Mac 来调试您的代码吗?您是否只需要一台联网的 Mac 即可将应用实际部署到应用商店?

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

【问题讨论】:

【参考方案1】:

从 2017 年 5 月起,您可以在没有 MAC 的情况下开发应用程序。

Microsoft Xamarin 引入了 Live Player。借助 Live Player,iOS 应用可以从运行 Visual Studio 的 PC 直接部署到 iPhone 或其他 iDevice 上,然后可以在其中测试和调试代码。


警告 Xamarin Live Player 预览已结束。但它改变了热重载。使用此功能,您可以使用您的 iPhone 开发 iOS 应用程序See discussion

观看此视频:https://www.youtube.com/watch?v=awgZDL1a3YI

这是 Live Player 开始部分:Live Player

注意:最终构建和提交到 App Store 仍需要 Mac

设备要求

Xamarin Live Player 应用支持以下设备:

iOS

iOS 9.0 或更高版本。 ARM64 处理器。 在 App Store 中查看list 支持的设备。

安卓

Android 4.2 或更高版本。 ARM-v7a、ARM-v8a、ARM64-v8a、x86 或 x86_64 处理器。

限制

Xamarin Live Player 可以运行的东西有一些限制,包括以下项目:

目前不支持使用 AXML 文件设计的 Android 用户界面。 不支持某些 iOS 故事板功能。 不支持 iOS XIB 文件。 不支持自定义渲染器。 不支持 Xamarin.Forms 效果。 不支持嵌入资源(即在 PCL 中嵌入图像或其他资源)。 对反射的支持有限(目前影响一些流行的 NuGet,如 SQLite 和 Json.NET)。其他 NuGet 仍受支持。 某些系统类不能被覆盖(例如,您不能实现子类)。 某些需要预配的平台功能无法在 Xamarin Live Player 应用中运行(但它已配置为用于相机访问等常见操作)。 自定义目标和构建步骤将被忽略。例如,无法合并 Fody 等工具。

【讨论】:

当我开始使用 Xamarin 时,这只是一个“陷阱”。根据blog.xamarin.com/xamarin-live-player-faq,反射无法按您的预期工作。我正在努力找出为什么我的 JSON.NET 代码没有正确序列化。这让 Live Player 对我来说毫无用处,因为我的应用通过 json 与 rest api 进行通信。 @ElPresidente 很抱歉给您带来不便。我刚刚更新了我的帖子,限制为live player 有人知道“对反射的有限支持”是什么意思吗? 注意: 根据discussion section,iOS Live Player 已死:“我们将不再分发 iOS 版本的 Xamarin Live Player。”跨度> 我发现 iOS Live Player 也死了。根据你想喂野兽的程度,最便宜、最省时的方法就是买一台 400 美元的 mac mini。苹果在这些蹩脚的机器上赚不到钱,所以你不会给它们喂太多东西,你所有的头痛都会在很大程度上消失。嘘【参考方案2】:

是的,您必须有一台 Mac 才能进行 Xamarin.iOS 开发。 Mac 是构建和运行 iOS 模拟器所必需的。您可以将其用作构建服务器,并在 Visual Studio 中实际进行开发(在独立 PC 中或在 Mac 上运行的 VM 上),或者您可以使用 Xamarin Studio 作为您的直接在 Mac 上进行开发IDE。

【讨论】:

谢谢@Jason,所以解决这个问题的最佳方法是使用 Mac 并通过 Parallels 等在 VM 上运行 Windows? 我个人只使用 Xamarin Studio IDE,但很多喜欢 VS 的人在 VM 中运行它 这不仅仅是学习 Objective-C 和 Java。您也不必维护三个不同的代码库(假设您也在为 Windows Phone 开发)。添加新功能、修复错误并能够同时针对所有平台发布绝对值得投资。 这个人从经验丰富的角度写了一个很好的过程:vincenth.net/blog/archive/2014/11/18/… 请注意,自从给出这个答案后,情况发生了变化。 2017 年年中,Xamarin 发布了 Live Player(参见@ebattulga 的回答),它允许“为 iOS 持续开发和调试”(xamarin.com/live)。另请参阅arstechnica.com/?post_type=post&p=1094721 了解更多信息。【参考方案3】:

您可以使用 Xamarin Studio 代替 Visual Studio 并通过 C# 构建 iOS 应用程序。 首先安装 VMware Workstation,然后下载 OS X 镜像并通过 VMware 运行。

然后在上面安装工具并享受。

工具:

编辑:以下链接已过时,您必须安装 Mac OS 10.10 才能安装 XCode 6。

您需要的 iOS 工具:

1) 适用于 Windows 的 Mac OS X 映像 注意:Max OS X 安装帮助: http://www.sysprobs.com/easily-run-mac-os-x-10-8-mountain-lion-retail-on-pc-with-vmware-image

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

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

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

5) Xcode

【讨论】:

是的,但是您需要一台实际的 Mac 机器才能在编译时显示 Apple iOS SDK? 我完全使用WMware来开发和发布iOS应用,我没有mac @Hardgraf 我编辑了我的答案,你可以找到你需要的所有工具 在非 Mac 硬件上(直接或在虚拟机中)运行 OS X 违反了 Apple 的许可 @Luiso 当然,请在此处查看我的回答,这将为您提供一些入门所需的链接:***.com/questions/27090796/…【参考方案4】:

2018 年更新

安装 VirtualBox https://www.virtualbox.org/

在 VirtualBox 上安装 MacOs 10.13 https://techsviewer.com/install-macos-high-sierra-virtualbox-windows/

在 Mac 上创建或使用 Apple 帐户登录

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

启用远程登录 系统偏好设置 > 共享 > 远程登录 > 为所有用户启用

为 VirtualBox 配置一个额外的网络适配器(仅限主机)

在 Windows > Visual Studio(Xamarin 项目)> 与 mac 配对

输入第二个网卡的IP地址

让 Visual Studio 在 Mac 上安装 Xamarin IOS、IOS SDK、附加工具

一切就绪。

【讨论】:

您真的尝试过吗?它是否有效?在浪费我们的时间之前:D 是的,它有效。但它不可用(即使是 hello world 示例)。我的机器规格 i7-8550u 16GB(所以它可能有更高的规格更好) @Ateik 没有你的意思。你的意思是即使你的电脑配置也很慢? 是的,按照上述规范,编译 hello world 应用程序和运行 iOS 模拟器会很慢 很抱歉,我的设置没有性能问题。我为我的 virtualbox macos 机器分配了 4gig ram,2processor。主机系统:Core i7 2.4ghz 4cores,32Gb 内存。它在这里完全可用,但当然这是某种黑客/解决方法。买个mac总是会更好【参考方案5】:

一种选择是使用远程服务来执行此操作。 例如: http://www.macincloud.com

【讨论】:

这是一个付费解决方案,在云中使用 mac 进行 Xamarin IOS 构建的教程链接,c-sharpcorner.com/article/… 是的,这是付费的,但最便宜的计划是 30 美元。它甚至远低于最便宜的翻新 Mac。据我了解,我需要 Mac 几个小时/月才能在发布前进行最终构建。问:我是否需要在 Mac 上拥有管理员权限才能为 iOS 进行构建? IE。我是否需要购买具有完全管理员/root 访问权限的计划?假设我有 Visual Studio Enterprise 2019 和功能强大的 Windows 10 桌面,哪个 MacInCloud 计划最适合最终构建适用于 iOS 的 Xamarin 应用程序? (现收现付、托管服务器、专用服务器、Azure 代理)【参考方案6】:

任何人都知道虚拟机是解决方案!但是当您想在 Windows 上安装 OSX 时,这并不像您刚才所说的那样容易。 找到最好的 OS ROM 非常重要。

查看here。 而且你必须知道限制是 Apple 做的,而不是 Xamarin 做的。

【讨论】:

以上是关于没有 Mac 的 Xamarin Visual Studio IOS 开发?的主要内容,如果未能解决你的问题,请参考以下文章

从 Visual Studio 2019 Xamarin.iOS 连接到 Mac 的代理问题

是否需要在Xamarin构建机器Mac上安装Visual Studio?

如何使用 Visual Studio for Mac 在 Xamarin.Forms 中实现多目标?

.NET6 与 Visual Studio for Mac M1 不兼容,我可以为 xamarin 使用啥?

Xamarin iOS发布版本错误 - “Visual Studio Community 2017 for Mac Version 7.6.7(build 49)”

Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验