如果我错了,请纠正我。
我是移动开发的新手,我想开发一个应用程序提交到苹果商店。
但是我对开发应用程序的mac的价格感到非常沮丧。
假设我确切地知道我想要什么以及如何编码。
如果我要创建开发者帐户并支付费用 - 然后借用我的朋友mac,编写代码并将我的代码提交给apple。这就是我需要的全部用途吗?然后我将能够通过我的Windows计算机上的iTunes访问所有统计数据?
有人可以告诉我,我是妄想吗?
答案 0 :(得分:29)
让我几年前一步一步告诉你,我处于同样的境地。
所以我们有两个阶段
<强> 1。 iPhone / iPad(iOS)应用开发
因此,如果您只想开发iOS应用程序,则不需要支付任何费用,
您只需要Mac + XCode IDE
现在您只需安装Xcode并开始使用Simulator开发iOS应用程序并进行测试/调试..
<强> 2。 iPhone / iPad(iOS)应用程序开发和发布到iTunes Store
在iTunes商店发布您需要支付的应用程序(例如99美元/年)。
因此,对于完整的iOS开发设置,您需要
答案 1 :(得分:22)
可以使用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:android
或exp 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虚拟机的一些详细步骤:
安装VirtualBox。
您必须在BIOS中启用虚拟化。要在Windows 10上打开BIOS,您需要在按下开始菜单中的“重新启动”按钮的同时按住 Shift 键。然后你会得到一个带有一些选项的蓝屏。选择&#34;排查&#34;,然后&#34;高级选项&#34;,然后&#34; UEFI固件设置&#34;,然后&#34;重新启动&#34;。然后您的计算机将重新启动并直接打开BIOS。在较旧版本的Windows上,请正常关闭计算机,按住 F2 键,再次启动计算机并且不要释放 F2 ,直到您重新启动计算机为止。在BIOS中。在某些计算机上,您可能需要按住 F2 之外的其他键。
现在您已进入BIOS,您需要启用虚拟化。您应该更改哪种设置取决于您使用的计算机。即使在具有相同版本Windows的两台计算机之间,这也可能有所不同。在我的计算机上,您需要将Intel Virtual Technology
标签中的Configuration
设置为Enabled
。在其他计算机上,它可能位于Security -> Virtualization
或Advanced -> CPU Setup
中。如果您无法找到任何这些选项,请在Google上搜索enable virtualization (the kind of computer you have)
。不要随意更改BIOS中的任何内容,否则可能会导致计算机出现问题。启用虚拟化后,保存更改并退出BIOS。这通常在Exit
标签中完成。
下载this file(我与上传此文件的人没有关联,但我已下载并自行使用,因此我确定没有病毒)。如果链接被破坏,发布评论让我知道,我会尝试将文件上传到其他地方。此RAR包含一个VMDK文件,该文件将充当Mac虚拟机的硬盘驱动器。提取该VMDK文件。如果磁盘空间是您的问题,一旦您解压缩了VMDK文件,您就可以删除RAR文件,从而节省7GB。
打开在步骤1中安装的VirtualBox。在工具栏中,按“新建”按钮。然后选择虚拟机的名称(名称不重要,我称之为#34; Mac&#34;)。在&#34; Type&#34;中,选择&#34; Mac OS X&#34;和版本&#34;选择&#34; Mac OS X 10.11 El Capitan(64位)&#34;。
选择虚拟机可以使用的内存量。尝试平衡数量,因为太少的内存将导致虚拟机性能低下和太多内存将导致主机系统(Windows)内存不足,这将导致虚拟机和/或其他程序#&# 39;重新在Windows上运行崩溃。在具有4GB可用内存的计算机上,2GB是一个很好的数量。不要担心,如果您选择了不良金额,您可以随时更改它(除非虚拟机正在运行时)。
在硬盘步骤中,选择&#34;使用现有的虚拟硬盘文件&#34;然后单击下拉列表右侧的小文件夹图标。这将打开一个浏览窗口。选择在步骤4中下载并解压缩的VMDK文件。
完成此操作后,请点击&#34;创建&#34;。
在窗口左侧的列表中选择虚拟机,然后单击工具栏中的“设置”按钮。在系统 - &gt;处理器,选择2个CPU。如果您稍后意识到在步骤6中选择了导致问题的内存量,则可以在System - &gt;中进行更改。母板。完成更改设置后,请单击“确定”。
打开命令提示符(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
现在您已准备好使用虚拟机了。在VirtualBox中,单击“开始”按钮,然后按照Mac的安装说明进行操作。一旦您在虚拟机上安装了Mac,就可以像开发真正的Mac一样开发iOS应用程序。
备注:如果要节省硬盘空间,可以压缩在步骤4中提取并在步骤7中使用的VMDK文件。为此,右键单击它,选择“属性”,单击“高级”。右下角的...按钮,勾选复选框&#34;压缩内容以节省磁盘空间&#34;。这将使这个非常大的文件占用更少的磁盘空间,而不会使任何工作不太好。我做到了,它将VMDK文件的磁盘大小从50GB减少到40GB而不会丢失任何数据。
答案 3 :(得分:17)
存在一些云解决方案,例如macincloud(非免费)
答案 4 :(得分:11)
答案 5 :(得分:11)
您可以使用Phonegap(Cordova)在没有Mac的情况下开发iOS应用程序,但您仍需要Mac才能将应用程序提交到App Store。我们开发了一个云应用程序,它也可以在没有Mac https://www.wenz.io/ApplicationLoader的情况下发布您的应用程序。目前我们处于测试阶段,您可以免费使用该服务。
祝你好运, Steffen Wenz
(我是该网站的创建者)
答案 6 :(得分:8)
简短回答:理论上是YES,但这必须是你的一个非常好的朋友,但同样,你可能更愿意购买二手mac-mini
长答案:根据您的应用程序要求,您的开发技巧以及您对Apple的运气,您将需要这台Mac很长一段时间。例如:
因此,根据我的经验,开发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的锁定,并允许您使用自己喜欢的操作系统进行开发。
答案 9 :(得分:1)
我的经验是,Ionic Pro(https://ionicframework.com/pro)可以充分利用开发和发布工作,但您仍然需要在云端使用Mac或Mac:
创建认证文件后,您可以将其上传到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个我知道的选项
答案 11 :(得分:-6)
XAMARIN CROSS平台
您可以使用Xamarin,它是IDE Visual Studio的跨平台,并将xamarin集成到其中。编写Xamarin并使用C#代码制作ios应用程序非常简单。