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

Ces*_*scy 83 iphone ios

如果我错了,请纠正我.

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

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

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

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

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

swi*_*Boy 30

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

所以我们有两个阶段

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

1. iPhone/iPad(iOS)应用程序开发

所以如果你只是想开发iOS应用程序,你不想支付任何东西,

你只需要Mac + XCode IDE

  1. 获取Mac Mini或Mac Machine
  2. 在Apple上免费创建开发者帐户
  3. 登录开发者帐户后,您可以下载Xcode IDE的.dmg文件
  4. 就这样.

现在您只需安装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上发布

  • 但问题特别指出“没有 Mac 电脑?”…… (13认同)

wha*_*ver 25

从2017年9月更新

可以使用React Native + Expo开发iOS(和Android同时)应用程序而无需拥有mac.您还可以在开发iOS Expo应用程序时运行iOS应用程序.(您甚至可以将其发布给其他人访问,但它只能在Expo应用程序中运行).这是来自Expo的关于如何生成独立应用程序的页面.

该页面的步骤:

: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"
    }
   }
 }
Run Code Online (Sandbox Code Playgroud)

:开始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开发时可能遇到的问题的游行,并且它的依赖性 -特定版本的其他图书馆问题以及其他内容.


Don*_*uck 21

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

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

  1. 安装VirtualBox.

  2. 您必须在BIOS中启用虚拟化.要在Windows 10上打开BIOS,您需要Shift在按下开始菜单中的"重新启动"按钮的同时按住该键.然后你会得到一个带有一些选项的蓝屏.选择"疑难解答",然后选择"高级选项",然后选择"UEFI固件设置",然后选择"重新启动".然后您的计算机将重新启动并直接打开BIOS.在旧版本的Windows上,请正常关闭计算机,按住该F2键,再次启动计算机,F2直到您进入BIOS状态才能释放计算机.在某些计算机上,您可能需要按住另一个键而不是F2.

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

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

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

  6. 选择虚拟机可以使用的内存量.尝试平衡数量,因为太少的内存将导致虚拟机性能低下,内存过多将导致主机系统(Windows)内存不足,从而导致虚拟机和/或其他程序出现问题重新在Windows上运行崩溃.在具有4GB可用内存的计算机上,2GB是一个很好的数量.如果您选择了错误的数量,请不要担心,您可以随时更改它(虚拟机运行时除外).

  7. 在"硬盘"步骤中,选择"使用现有虚拟硬盘文件",然后单击下拉列表右侧的小文件夹图标.这将打开一个浏览窗口.选择在步骤4中下载和提取的VMDK文件.

    在此输入图像描述

    完成此操作后,单击"创建".

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

  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
    
    Run Code Online (Sandbox Code Playgroud)
  10. 现在一切准备就绪,您可以使用虚拟机.在VirtualBox中,单击"开始"按钮,然后按照Mac的安装说明进行操作.一旦在虚拟机上安装了Mac,就可以像开发真正的Mac一样开发iOS应用程序.

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

  • Vm 工作正常。但是在我的机器上很慢,这是一台游戏机。 (2认同)
  • 在第 9 步,我必须添加 VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" W1234567980 以便能够使用我的 Apple ID 登录 (2认同)

Lau*_*ent 17

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


Hem*_*ore 11

更新英特尔XDK不再可用.

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

点击此处了解详情.

  • 英特尔XDK已经过世...... RIP (10认同)

小智 11

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

最诚挚的问候,Steffen Wenz

(我是该网站的创建者)


yan*_*Lar 9

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

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

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

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