在没有Mac的情况下构建iOS应用程序?

时间:2013-09-11 11:01:23

标签: ios iphone

如果我错了,请纠正我。

我是移动开发的新手,我想开发一个应用程序提交到苹果商店。

但是我对开发应用程序的mac的价格感到非常沮丧。

假设我确切地知道我想要什么以及如何编码。

如果我要创建开发者帐户并支付费用 - 然后借用我的朋友mac,编写代码并将我的代码提交给apple。这就是我需要的全部用途吗?然后我将能够通过我的Windows计算机上的iTunes访问所有统计数据?

有人可以告诉我,我是妄想吗?

12 个答案:

答案 0 :(得分:29)

让我几年前一步一步告诉你,我处于同样的境地。

所以我们有两个阶段

  1. iPhone / iPad(iOS)应用开发
  2. iPhone / iPad(iOS)应用程序开发和发布到iTunes Store
  3. <强> 1。 iPhone / iPad(iOS)应用开发

    因此,如果您只想开发iOS应用程序,则不需要支付任何费用,

    您只需要Mac + XCode IDE

    1. 获取Mac Mini或Mac Machine
    2. 在Apple上免费创建开发者帐户
    3. 登录开发者帐户后,您可以下载Xcode IDE的.dmg文件
    4. 就是这样。
    5. 现在您只需安装Xcode并开始使用Simulator开发iOS应用程序并进行测试/调试..

      <强> 2。 iPhone / iPad(iOS)应用程序开发和发布到iTunes Store

      在iTunes商店发布您需要支付的应用程序(例如99美元/年)。

      因此,对于完整的iOS开发设置,您需要

      1. 获取Mac Mini或Mac Machine
      2. 在Apple上免费创建开发者帐户
      3. 登录开发者帐户后,您可以下载Xcode IDE的.dmg文件
      4. 为iTunes上的发布应用支付99美元
      5. 在您的Apple帐户上创建开发/分发证书
      6. 在mac机器上下载所有证书并使用Keychain工具安装到XCode
      7. 获取至少一个iOS设备
      8. 在您的Apple帐户中注册您的设备
      9. 现在您可以开发iOS应用程序,在Real Device上测试并在iTunes Store上发布

答案 1 :(得分:22)

从2017年9月更新

可以使用React Native + Expo开发iOS(和Android同时)应用程序,而无需拥有Mac。您还可以在开发时在iOS Expo app内运行iOS应用程序。 (您甚至可以将其发布给其他人访问,但它只能在Expo应用程序中运行)。来自Expo的Here is page如何生成独立应用。

该页面的步骤:

一个:运行exp

安装npm install -g exp

两个:配置app.json(沿着这些行的某处):

{
   "expo": {
    "name": "Your App Name",
    "icon": "./path/to/your/app-icon.png",
    "version": "1.0.0",
    "slug": "your-app-slug",
    "sdkVersion": "17.0.0",
    "ios": {
      "bundleIdentifier": "com.yourcompany.yourappname"
    },
    "android": {
      "package": "com.yourcompany.yourappname"
    }
   }
 }

:使用exp启动exp start打包器

:运行exp build:androidexp build:ios

系统会提示您输入一些内容。对于Android,如果您没有密钥库(或者您不知道它是什么),您可以选择1) Let Expo handle the process!。对于iOS,您必须输入Apple开发人员凭据。然后你可以提供发行证书或让expo处理它。

:偶尔你必须回来并运行exp build:status命令检查你的构建是否完整。如果完成,您将获得指向.apk.ipa文件的直接链接。

这种方法的唯一缺点是它不会像在Swift中编写iOS应用程序一样本地化,并且你将不得不忍受在使用弱类型js,npm和开发时遇到的问题的游行。它是dependency-on-particular-version-of-some-other-library问题和其他问题。

答案 2 :(得分:18)

在Windows上,您可以在虚拟机上使用Mac(这可能也适用于Linux,但我还没有经过测试)。虚拟机基本上是您在计算机上运行的程序,允许您在另一个窗口中运行一个操作系统。确保硬盘驱动器上至少有60GB的可用空间。您下载的虚拟硬盘最初占用10GB,但是当您安装了开发iOS应用程序所需的所有必需程序时,其大小可以轻松增加到50GB(我建议保留几GB的余量以防万一)。

以下是在Windows上安装Mac虚拟机的一些详细步骤:

  1. 安装VirtualBox

  2. 您必须在BIOS中启用虚拟化。要在Windows 10上打开BIOS,您需要在按下开始菜单中的“重新启动”按钮的同时按住 Shift 键。然后你会得到一个带有一些选项的蓝屏。选择&#34;排查&#34;,然后&#34;高级选项&#34;,然后&#34; UEFI固件设置&#34;,然后&#34;重新启动&#34;。然后您的计算机将重新启动并直接打开BIOS。在较旧版本的Windows上,请正常关闭计算机,按住 F2 键,再次启动计算机并且不要释放 F2 ,直到您重新启动计算机为止。在BIOS中。在某些计算机上,您可能需要按住 F2 之外的其他键。

  3. 现在您已进入BIOS,您需要启用虚拟化。您应该更改哪种设置取决于您使用的计算机。即使在具有相同版本Windows的两台计算机之间,这也可能有所不同。在我的计算机上,您需要将Intel Virtual Technology标签中的Configuration设置为Enabled。在其他计算机上,它可能位于Security -> VirtualizationAdvanced -> CPU Setup中。如果您无法找到任何这些选项,请在Google上搜索enable virtualization (the kind of computer you have)。不要随意更改BIOS中的任何内容,否则可能会导致计算机出现问题。启用虚拟化后,保存更改并退出BIOS。这通常在Exit标签中完成。

  4. 下载this file(我与上传此文件的人没有关联,但我已下载并自行使用,因此我确定没有病毒)。如果链接被破坏,发布评论让我知道,我会尝试将文件上传到其他地方。此RAR包含一个VMDK文件,该文件将充当Mac虚拟机的硬盘驱动器。提取该VMDK文件。如果磁盘空间是您的问题,一旦您解压缩了VMDK文件,您就可以删除RAR文件,从而节省7GB。

  5. 打开在步骤1中安装的VirtualBox。在工具栏中,按“新建”按钮。然后选择虚拟机的名称(名称不重要,我称之为#34; Mac&#34;)。在&#34; Type&#34;中,选择&#34; Mac OS X&#34;和版本&#34;选择&#34; Mac OS X 10.11 El Capitan(64位)&#34;。

  6. 选择虚拟机可以使用的内存量。尝试平衡数量,因为太少的内存将导致虚拟机性能低下和太多内存将导致主机系统(Windows)内存不足,这将导致虚拟机和/或其他程序#&# 39;重新在Windows上运行崩溃。在具有4GB可用内存的计算机上,2GB是一个很好的数量。不要担心,如果您选择了不良金额,您可以随时更改它(除非虚拟机正在运行时)。

  7. 在硬盘步骤中,选择&#34;使用现有的虚拟硬盘文件&#34;然后单击下拉列表右侧的小文件夹图标。这将打开一个浏览窗口。选择在步骤4中下载并解压缩的VMDK文件。

    enter image description here

    完成此操作后,请点击&#34;创建&#34;。

  8. 在窗口左侧的列表中选择虚拟机,然后单击工具栏中的“设置”按钮。在系统 - &gt;处理器,选择2个CPU。如果您稍后意识到在步骤6中选择了导致问题的内存量,则可以在System - &gt;中进行更改。母板。完成更改设置后,请单击“确定”。

  9. 打开命令提示符(C:\Windows\System32\cmd.exe)。在那里运行以下命令,将"Your VM Name"替换为您在步骤5中调用虚拟机的任何内容(例如"Mac")(保留引号):

    cd "C:\Program Files\Oracle\VirtualBox\"
    VBoxManage.exe modifyvm "Your VM Name" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
    
  10. 现在您已准备好使用虚拟机了。在VirtualBox中,单击“开始”按钮,然后按照Mac的安装说明进行操作。一旦您在虚拟机上安装了Mac,就可以像开发真正的Mac一样开发iOS应用程序。

  11. 备注:如果要节省硬盘空间,可以压缩在步骤4中提取并在步骤7中使用的VMDK文件。为此,右键单击它,选择“属性”,单击“高级”。右下角的...按钮,勾选复选框&#34;压缩内容以节省磁盘空间&#34;。这将使这个非常大的文件占用更少的磁盘空间,而不会使任何工作不太好。我做到了,它将VMDK文件的磁盘大小从50GB减少到40GB而不会丢失任何数据。

答案 3 :(得分:17)

存在一些云解决方案,例如macincloud(非免费)

答案 4 :(得分:11)

更新 英特尔XDK不再可用。

您可以使用英特尔XDK ,您可以在不使用mac的情况下开发和发布适用于iOS的应用。

Click here了解详情。

答案 5 :(得分:11)

您可以使用Phonegap(Cordova)在没有Mac的情况下开发iOS应用程序,但您仍需要Mac才能将应用程序提交到App Store。我们开发了一个云应用程序,它也可以在没有Mac https://www.wenz.io/ApplicationLoader的情况下发布您的应用程序。目前我们处于测试阶段,您可以免费使用该服务。

祝你好运, Steffen Wenz

(我是该网站的创建者)

答案 6 :(得分:8)

简短回答:理论上是YES,但这必须是你的一个非常好的朋友,但同样,你可能更愿意购买二手mac-mini

长答案:根据您的应用程序要求,您的开发技巧以及您对Apple的运气,您将需要这台Mac很长一段时间。例如:

  1. 您可能需要几天时间来设置Xcode以及所需的SDK和库。
  2. 获得该开发者帐户可能需要一些时间,有时您甚至可以等待太多,以便审核您的请求。
  3. 当您首次提交申请时,您需要等待一段时间,可能需要几周甚至几个月才能检查您的应用。
  4. 每次您的应用被拒绝时,您都需要找到并修复您的问题(Apple没有太多帮助,其他指出您破坏的指南规则),然后重新应用您的应用以供审核,并再次等待
  5. 每当您尝试为已部署的应用程序应用修补程序时,您必须检查您的应用程序,并且您之前合法的应用程序有可能会破坏新的指南,因此您重新申请并等待< / LI>

    因此,根据我的经验,开发iOS应用程序是一个非常漫长的过程,甚至没有考虑实际的代码开发时间。你可以借那么久的Mac吗?

答案 7 :(得分:3)

另外,如果你想节省一些钱,你也不必购买Mac。还有其他方法可以做到:

1。)您几乎可以使用任何操作系统在虚拟机中运行最新的MacOS(请查看YouTube)。我在VMWare的Windows上使用这种方法很长时间没有任何问题。

2。) Hackintosh。将MacOS安装到您的PC。你必须有兼容的组件,但如果你有,这是最好的方法,因为你消除了VM中的滞后......我在这个时候使用它。完善。在我的笔记本电脑上,但请不要告诉Apple,因为实际上这是非法的

3。)如果您使用最少的用户界面制作简单的应用,则可以使用Theos。还有Theos你可以创建cydia调整。只有一个问题:协同设计。如果您想在App Store上发布应用程序,您仍然必须拥有MacOS,但如果您想在家中制作应用程序,则可以使用CydiaImpactor使用Apple ID对应用程序进行签名。

我使用了所有这些方法,一切正常。如果您不想通过安装Hackintosh花费大量时间,我的VM是最好的解决方案。

答案 8 :(得分:2)

您可以使用Smartface通过javascript开发应用程序,并在没有Mac的情况下直接部署到商店。他们说的是下面的内容。

  

借助Cloud Build模块,Smartface消除了应用程序部署的所有麻烦。您无需担心管理代码签名证书和使用Mac来签署您的应用程序。   Smartface Cloud可以将您的所有iOS证书和Android密钥库存储在一个位置,并且签名和构建完全在云端。无论您使用哪种操作系统,都可以获得存储就绪(或企业分发)二进制文件。 Smartface让您摆脱了对Mac的锁定,并允许您使用自己喜欢的操作系统进行开发。

https://www.smartface.io/smartface/

答案 9 :(得分:1)

我的经验是,Ionic Pro(https://ionicframework.com/pro)可以充分利用开发和发布工作,但您仍然需要在云端使用Mac或Mac:

  • 创建.p12认证文件
  • 将.ipa文件上传到App Store

创建认证文件后,您可以将其上传到Ionic Pro。您可以在云中使用适当的凭据构建.ipa文件。但遗憾的是,我没有找到另一种将.ipa文件上传到App Store的方法,只有Mac上的Application Loader才能上传。

因此,我决定在云帐户中使用按需付费的Mac(您只需支付几分钟的登录时间),因为我在Mac上花费的时间非常有限(每个App发布几分钟)。 / p>

答案 10 :(得分:1)

大多数框架,例如React Native和Ionic,都可以在它们的服务器上构建。这意味着它们可以帮助您编译并为您提供.ipa文件。

问题是您需要Xcode或应用程序加载器才能将您的应用程序提交到Apple App Store Connect。两者仅在OSX上可用。要克服此解决方案,您有2个我知道的选项

  1. 虚拟租用Mac。 http://www.macincloud.com
  2. 使用可帮助您上传应用程序的网站(您需要具有.ipa文件)。 http://www.connectuploader.com

答案 11 :(得分:-6)

XAMARIN CROSS平台

您可以使用Xamarin,它是IDE Visual Studio的跨平台,并将xamarin集成到其中。编写Xamarin并使用C#代码制作ios应用程序非常简单。