build立一个iOS应用程序没有拥有一个MAC?

如果错了,请纠正我。

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

但是,我非常灰心的Mac的价格,然后我正在开发应用程序的思想。

说我确切地知道我想要什么,以及如何编码它。

如果我要创build一个开发者账户并支付费用 – 然后借用我的朋友mac,写下代码并将我的代码提交给苹果公司。 这就是我需要的mac吗? 然后,我可以通过我的Windows电脑上的iTunes访问所有的统计数据?

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

我几年前一步一步告诉你,我的情况是一样的。

所以我们有两个阶段

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

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

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

你只需要Mac + XCode IDE

  1. 获取Mac Mini或Mac机器
  2. 在Apple上免费创build开发者帐户
  3. login开发者帐号后,您可以下载Xcode IDE的.dmg文件
  4. 就这样。

现在,您只需安装Xcode并开始开发iOS应用程序并使用Simulator进行testing/debugging。

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

要在iTunes Store上发布您的应用,您需要付费(例如$ 99 /年)。

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

  1. 获取Mac Mini或Mac机器
  2. 在Apple上免费创build开发者帐户
  3. login开发者帐号后,您可以下载Xcode IDE的.dmg文件
  4. 在iTunes上支付$ 99用于发布应用程序
  5. 创build您的苹果帐户开发/分发您的证书
  6. 在Mac机上下载所有证书,使用Keychain工具安装到XCode中
  7. 获取至less一个iOS设备
  8. 注册你的设备在你的苹果帐户
  9. 现在,您可以开发iOS应用程序,在Real Device上testing,并在iTunes Store上发布

您可以使用英特尔XDK ,您可以在没有Mac的情况下开发和发布适用于iOS的应用程序。

点击这里查看详情。

存在一些云解决scheme,如maccloud (不是免费的)

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

长的答案:根据您的应用程序要求,您的开发技巧和Apple的运气,您将需要很长时间才能使用此Mac。 例如:

  1. 您可能需要几天才能设置Xcode以及所需的SDK和库。
  2. 获得该开发人员帐户可能需要一些时间,有时甚至可能等待审核您的请求。
  3. 当您第一次提交您的应用程序时,您需要等待几个星期甚至几个月的时间才能完成您的应用程序审查。
  4. 每当你的应用被拒绝,你将需要find并解决你的问题(没有苹果的帮助,其他指出你破坏的指导原则),然后重新申请你的应用程序进行审查,然后再等待。
  5. 每次尝试为已经部署的应用程序应用补丁程序时,都必须重新审核应用程序,并且有可能以前合法的应用程序现在打破了新的准则,因此您需要重新申请并等待

所以,从我的经验来看,iOS应用程序的开发是一个非常冗长的过程,甚至没有考虑实际的代码开发时间。 你能借用一台Mac那么久吗?

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

最好的问候,Steffen Wenz

(我是网站的创造者)

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

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

  1. 安装VirtualBox 。

  2. 您必须在BIOS中启用虚拟化。 要在Windows 10上打开BIOS,您需要按住Shift键的同时按下开始菜单中的关机button:

    在这里输入图像说明

    那么你的电脑就会关机。 当你再次启动时,按住F2键不要松开,直到进入BIOS。 在旧版本的Windows上,除了在closures计算机时不需要按住Shift键时,它是一样的。 在某些计算机上,您可能需要按住F2以外的其他键。

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

  4. 下载这个文件 (我和上传这个文件的人没有关系,但是我已经下载了它并自己使用了,所以我确定没有病毒)。 如果链接被破坏,发表评论让我知道,我会尝试上传文件的其他地方。 这个RAR包含一个VDMK文件,它将作为Mac虚拟机的硬盘驱动器。 提取该VDMK文件。 如果磁盘空间对您来说是个问题,一旦您解压VDMK文件,您可以删除RAR文件,因此可以节省7GB。

  5. 打开在步骤1中安装的VirtualBox。在工具栏中,按下Newbutton。 然后为您的虚拟机select一个名称(名字不重要,我称之为“Mac”)。 在“types”中,select“Mac OS X”,在“版本”中select“Mac OS X 10.11 El Capitan(64位)”。

  6. select虚拟机可以使用的内存量。 尝试平衡数量,因为太less的内存将导致虚拟机性能低下,并导致太多的内存使您的主机系统(Windows)的内存不足,这将导致虚拟机和/或其他程序,在Windows上重新运行崩溃。 在具有4GB可用内存的计算机上,2GB是一个很好的数额。 不要担心,如果你select一个不好的数额,你将能够改变它,只要你想(虚拟机正在运行除外)。

  7. 在硬盘步骤中,select“使用现有的虚拟硬盘文件”,然后单击下拉列表右侧的小文件夹图标。 这将打开一个浏览窗口。 select您在步骤4中下载并提取的VDMK文件。

    在这里输入图像说明

    当你完成这个,点击“创build”。

  8. 在窗口左边的列表中select虚拟机,然后单击工具栏上的“设置”button。 在系统 – >处理器中,select2个CPU。 如果您后来意识到在步骤6中select了大量内存导致问题,则可以在“系统” – >“主板”中对其进行更改。 完成更改设置后,单击确定。

  9. 打开命令提示符( C:\Windows\System32\cmd.exe )。 在那里运行下面的命令,用"Your VM Name"在第5步调用虚拟机的任何东西(例如"Mac" )replace"Your VM Name" (保留引号):

     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中,单击“开始”button,然后按照Mac的安装说明进行操作。 一旦在虚拟机上安装了Mac,就可以像开发一台真正的Mac一样开发iOS应用程序。

备注:如果要节省硬盘上的空间,可以压缩在步骤4中提取并在步骤7中使用的VDMK文件。为此,请右键单击它,select属性,单击高级…button,并勾选“压缩内容以节省磁盘空间”checkbox。 这将使这个非常大的文件占用更less的磁盘空间,而不会使任何工作不太好。 我做到了,它将VDMK文件的磁盘大小从50GB减less到了40GB,而不会丢失任何数据。

从09/2017更新

使用React Native + Expo可以同时开发iOS(和Android)应用程序,而无需拥有一个mac。 你也可以在iOS Expo应用程序中开发你的iOS应用程序。 (您甚至可以将其发布给其他人访问,但只能在Expo应用程序中运行)。 这里是世博会如何生成独立应用程序的页面。

从该页面开始的步骤:

:运行npm install -g exp

:configurationapp.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 start开始exp expeger

:运行exp build:androidexp build:ios

系统会提示您input一些信息。 对于android你可以select1) Let Expo handle the process! 如果你没有密钥库(或者你不知道它是什么)。 对于iOS,您将不得不input您的Apple开发人员凭据。 那么你可以提供分销证书或让世博会来处理它。

:有一段时间,你将不得不回来运行exp build:status命令来检查你的构build是否完成。 如果完成,您将被提供到.apk.ipa文件的直接链接。

这种方法唯一的缺点是,它不会像在Swift中编写iOS应用程序那样原生,而且您将不得不忍受在用弱types的js,npm进行开发时可能遇到的问题的游行, 特定版本的其他库问题和其他内容。

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

借助Cloud Build模块,Smartface可以消除应用程序部署的所有麻烦。 您不必担心pipe理代码签名证书并让Mac签名您的应用程序。 Smartface Cloud可将所有iOS证书和Android密钥库存储在一个地方,签署和构build完全在云中。 无论您使用哪种操作系统,都可以获得存储就绪(或企业分发)二进制文件。 Smartface将您从locking中解脱出来,让您可以使用自己喜欢的操作系统进行开发。

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

另外,如果你想节省一些钱,你不必购买一台Mac。 还有其他方法如何做到这一点:

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

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

3.)如果您使用最less的UI制作简单的应用程序,则可以使用Theos 。 也可以用Theos创build苹果蠹调整。 只有一个问题:codesign。 如果你想在App Store上发布应用程序,你仍然必须拥有MacOS,但是如果你想在家里开发应用程序,你可以使用CydiaImpactor来使用Apple ID签署应用程序。

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

XAMARIN CROSS平台

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