【问题标题】:Will MonoTouch require a Mac to publish to the iPhone/iPod Touch?MonoTouch 是否需要 Mac 才能发布到 iPhone/iPod Touch?
【发布时间】:2009-07-20 18:03:28
【问题描述】:

我从未做过任何 iPhone 或 iPod Touch 开发,这主要是因为需要在 Mac 上进行开发,另外还需要学习 Objective-C。随着MonoTouch 的发布,我现在可以使用我已经熟悉的 .NET 语言,并在我的 Windows PC 上进行开发。

但是我很好奇我是否仍然需要 Mac 来部署和测试我的 iPhone 应用程序?那么 iPhone touch 需要哪些工具,哪些工具可以在带有 MonoTouch 的 Windows 上运行?

【问题讨论】:

  • 记住你会浪费你的时间。如果您已经了解其他类似 C 的语言,那么学习 Objective-C 是轻而易举的事。更棘手的一点是学习框架。虽然这个 MonoTouch 可能允许您将您的知识重用于某些开发,但您仍然需要为 iPhone UI 学习一些新东西。还不如咬紧牙关,正确地学习 CocoaTouch。
  • 真正的障碍是当我已经有一台新的 PC 台式机和笔记本电脑时,还要花钱购买新的 Apple。在这一点上,iPhone 开发只是一种好奇心,而不是商业需求,因此成本几乎是不合理的。

标签: iphone cocoa-touch mono xamarin.ios


【解决方案1】:

鉴于签署应用程序以在设备上执行所需的代码设计工具没有记录,并且仅适用于 OS X,我认为可以肯定的是,您只能实际构建应用程序以在 OS X 上部署。

虽然从技术上讲,在其他操作系统下编译应用程序是可行的,但您无法使用模拟器或协同设计工具对其进行测试,因此无论如何您都需要一台可用的 Mac。我想也可以针对越狱设备进行测试,但我不想发布一个没有经过股票操作系统固件测试的应用程序。

【讨论】:

  • 谢谢路易斯。这就是我所期待的情况。
【解决方案2】:

答案的种子已嵌入您的问题中。来自project page

MonoTouch 需要 Mac 和 Apple 的 iPhone SDK 在模拟器上测试; 你需要成为一个苹果 iPhone 开发人员部署在 设备。

【讨论】:

    【解决方案3】:

    迈克尔的回答中的任何一点都没有直接回答吉姆的问题。

    在 Windows 平台上会阻止您使用 iPhone SDK 模拟器,但不一定会阻止您在实际的 iPhone/iPod Touch 上进行部署和测试。

    据我所知,您不必拥有 Mac 硬件即可注册为 iPhone 开发人员。您需要成为 iPhone 开发人员才能使用 iPhone 支持的测试部署功能。

    我还没有尝试过 MonoTouch,但这是我对其工作原理的理解。当你使用 MonoTouch 编译时,它会输出一个准备在 iPhone/iPod Touch 设备上运行的二进制文件。然后,您将使用 iTunes 将二进制文件拖到应用程序面板上并同步设备。这种方法肯定不会像原生开发那样自动化,但它应该可以“免费使用 Mac”。

    【讨论】:

    • 这听起来很可怕,除非有硬件调试。你怎么知道你是否在泄漏内存?如果它在设备上而不是模拟器上崩溃,你如何修复它?听起来很有趣,但如果不进行测试项目并查看流程是什么样的,我会害怕依赖它。
    • 同意。我无法想象在没有大部分预期开发工具的情况下尝试为 iPhone 这样的设备编写软件。当我做 iPhone 开发时,工具链中肯定会有 Mac。我看过一些 iPhone 的开发,甚至购买了 MacBook Pro 来进行开发。这是一次令人难以置信的购买,我一秒钟都没有后悔过。
    • 正如 Louis 指出的那样,在安装到非越狱设备之前,您需要对二进制文件进行代码签名,而这仅在 Mac 上可用。
    • 另外,MonoTouch 仍然需要 Apple SDK 来 AOT 编译为本机代码,因为设备会阻止 JITing。
    • 不要打死马,但你也不能在 MacOSX 以外的任何地方安装 iOS SDK...所以如果没有 Mac,你就无法真正访问这些 SDK。跨度>
    【解决方案4】:

    这可能会为拥有现有 Windows PC 的人提供一些“阴暗”但有趣的阅读。

    http://osx86.thefreesuite.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2011-08-23
      • 1970-01-01
      • 2010-10-10
      • 2014-10-14
      • 2010-09-13
      • 2011-11-09
      相关资源
      最近更新 更多