没有 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# 编写一个 ios 和 android 应用程序。我已经阅读了有关 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 初体验