仅使用 PhoneGap Build 构建功能齐全的 iOS 应用程序,无需类似 Mac 的硬件

Build full-featured iOS application with just PhoneGap Build and no Mac-like hardware

因为支付 99 美元购买 Apple Developer Program 对我来说是一个有点艰难的决定(尤其是,如果这会浪费钱),那么问题很简单:

我能否构建功能齐全的 iOS 应用程序,我将能够提交(当然会被接受!)到 App Store,仅使用 PhoneGap Build,而无需任何某种 Mac 硬件或不需要使用像 Macincloud?

这样的付费服务

我什么都没有Mac。我唯一拥有的是未越狱的 3 岁 iPad Mini。所以我可以在基于 iOS 的真实设备上测试我的 iOS 应用程序(如果在应用程序提交过程中需要这样做),但我不能使用任何开发人员工具、SDK 等来实际构建它。

我在问,因为我完全糊涂了。我大约两年前接触过这个话题,然后我问 this question。我收到了一系列步骤和教程,我必须进行,但有明确的信息,我可以创建和部署 iOS 应用程序,而无需任何 Apple 硬件 .

我在接下来的两年里离开了这个主题。当我回到它时,我发现 a support question, a blog, Stack Overflow question and an article 或多或少都可以肯定, 拥有一台真正的 Mac 机器或访问像 Macincloud 这样的服务是必须创建 iOS 个应用程序.

例如客栈第三个回答mentioned support questionPetra V.说:

Yes, you need a Mac (no xCode, just ApplicationLoader required) to upload to the AppStore, unless you use a paid service like Macincloud

现在,我完全迷失了,因为这个声明与阿米尔两年前所说的完全相反。因此,有人可以给我一份有关此事的当前状态的可验证信息吗?

我可以只使用 HTML5、浏览器和 PhoneGap Build,而不使用 Mac 需要硬件或额外服务吗?

这是 不是 this question, because the only answer to it 的副本已经超过一年了(而且这方面的事情变化很快)并且有:

To publish to the app store I believe you still need a Mac with Xcode

有些人的看法可能是正确的,也可能是错误的。这不是我敢打赌 99 美元的东西。这就是为什么我要求 可验证更新 答案。

构建应用程序并将其提交给 Apple 的方法是:

  1. 编译应用程序。
  2. 通过应用程序上传器上传。

为了达到1,你需要一个Mac。您需要的 iOS SDK 包含在 Xcode 中。 Xcode,可让您构建 iOS 个应用程序的 Mac 应用程序,仅适用于 Mac。

您可以通过其他方式编译应用程序,但基本上您要做的是 "renting" 他们的 Mac 计算机或服务器(例如 Adob​​e Cordova Build)。

为了达到2,你还需要一个Mac。

有没有办法绕过Mac?如果你有一台 PC,你可以试试 HackIntosh,它是对 Mac OSX 的破解,(理想情况下)可以让你 运行 a Mac OS个人电脑。不过,我不会推荐你走这条路。即使您的硬件与 Mac 硬件具有高兼容性,它仍然是一个 hack,任何应用程序的任何更新、OS 次要更新等都可能破坏您的 HackIntosh。

虽然 other 答案已经回答了一般问题,但我想补充一些我从其他来源收到的更多细节并总结问题。

您不能仅使用 PhoneGap Build 向 App Store 提交 iOS 应用程序,而无需任何类型的 Mac 硬件或不需要使用付费服务,例如 Mac在云端。阿门.

现状

两年前可以将 iOS 应用程序提交到 App Store(根据问题中引用的 Amir 的回答),但现在已经不可能了,根据 this Phonegap Build support answer:

Two years is long time in the land of technology. Yes, Apple introduced a new method of uploading applications, forcing the use of an actual Mac. As apps grew, the upload via a browser became problematic, so a custom app was built to manage that portion of the submission process.

我可以补充一点,对于 Apple 的商业模式来说,这似乎也很明显,迫使人们购买甚至很小,甚至是旧的 Macs 只是为了将应用程序提交到应用程序商店。

你能做什么?

您可以编译您的应用程序(在 enrolling to Apple Developer Program 之后,获取所有必需的证书和签名密钥并将它们上传到 Phonegap Build)直到最终 .ipa 文件,但您仍然需要一些“Mac 相关”的东西到 运行 ApplicationUploader 并将您的应用程序上传到商店。

这个理论被this Phonegap Build support answer证实:

That statement is still valid. In fact, I have two new apps to be published today, and I'm going to use my Windows machine for everything except for the .ipa-upload part (which is one step within the process of using iTunesConnect in my browser on the Windows machine). The file upload takes place on my old Mac with ApplicationLoader.

In the recent past, we have seen reports of developers, here in the forum, who had difficulties uploading through ApplicationLoader. Turned out that everything worked fine again when they updated their installation of xCode, although they never used xCode for anything. Perhaps ApplicationLoader uses xCode modules under the hood on the same Mac...

"Mac-related" 意思是:

  • 购买自己的或借给别人的硬件 Macintosh,几乎任何类型,
  • 在您的任何 PC (Hackintosh) 上安装 OS X 系统,
  • 使用付费服务,例如 MacinCloud

第一个选项似乎最好,因为它为您提供了最大的灵活性。如果您甚至不接触 xCode (在这个问题的上下文中——即通过 Phonegap Build 构建应用程序)和其他开发工具,那么即使使用 Mac mini 也会很好,你可以花大约 200-300 美元购买。

第二个选项是 illegal ("Running OS X, even virtualized, on non-Apple hardware is a violation of the EULA for the software") and 任何应用程序的任何更新,OS 次要更新等,都可能破坏您的 HackIntosh"),所以应被视为最后的选择。

开发者应考虑第三种选择,他们提交的 iOS 应用程序(及其更新)数量足够少,因此每月或每年 MacinCloud 付费计划变得比一次性投资旧 Mac.