无苹果,怎么编写内置 iOS 应用?

百家 作者:CSDN 2020-04-02 10:37:05

作者 | Maxence
译者 | ,责编 | 屠敏
图 | CSDN 下载自东方 IC
出品 | CSDN(ID:CSDNnews)

以下为译文:

大家好,我是本文笔者Max,一名JS开发者。在没有任何苹果硬件,没有Hackintosh的情况下,我是怎么编写iOS应用的,本文就来介绍一下。


是否需要一个内置应用?


在继续前,可能需要问问自己,你是否需要一个应用?渐进式Web应用(PWA)已经发展良久,目前随时可用。如今的iOS 13对PWA的支持更好,预算不高的情况下,这个方案值得考虑。但请注意:iOS PWA无法处理推送,也不支持后台运行,算是个可选方案,但大多数情况下你还是需要内置应用。

假如你在开发PWA,或只是个响应式网站的话,没有mac还会有很多在线可选方案,用以在iOS模拟器甚至真实设备上测试你的应用,如https://www.browserstack.com/ 或者 https://app.lambdatest.com/。当然,也可以减少浏览器,用所配的移动开发工具只测试网站的响应式布局,不过最终还是要返回真实设备进行测试。


使用远程macOS


对于基于Objective-C或Swift的iOS应用开发者来说,或许会有mac。但没有的话,还是有解决方案的:即使用远程macOS。网络上有一些公司提供远程访问Mac的途径,借助RDP、VNC,甚至直接用浏览器来访问。对于此类解决方案,我并没有太多经验,但确实用过macinacloud,并且体验良好。如果你也打算将其用作主要的开发平台,建议使用16GB的RAM,尤其是针对模拟器使用时。

如果没有mac,但有台用于调试应用的iOS设备的话,有两种选择:

使用TestFlight,可以用自己的设备在Mac上构建应用并分享。这是最易设置的远程USB连接。方案理念是采用软件,将你的USB连接自本地计算机转发至远程mac上。其他供应商我不太了解,但使用macinacloud的话,需要使用外部工具,相关文档中有说明。


使用Expo应用


想要开发具有脱机支持及通知功能的移动应用,或者只想在Apple Store中可见的话,还有另一个方案,无需拥有mac,也无需Xcode,即Expo。

我在JS开发上的经验已有10年,2015年我开始在React中进行编码,因此肯定会先入为主,但这套是我当前在用的设置,深受我喜爱。

Expo是基于React-Native的一套工具,旨在协助我们轻松创建React-native的应用。这些工具改进极快,因此如果数月前你曾尝试过,并遇到了一些bug或者问题的话,应该再试一次。自2019年6月Expo 33发布以来,到了现在,我们可以在iOS和Android设备上呈现自己的React-native应用了,不过还是以网页形式。这也是开发者可选的上佳方案。

此外,Expo附带了Expo客户端。借助这个客户端,我们可以将自己的React-native代码分发到iOS设备上。实时重载和远程调试让开发体验良好。

连iOS设备都没有?Expo还有个服务器端,可用于构建自己的应用程序包。当然,在交付给用户及上传到AppStore之前,还是需要测试的。目前我在使用Appetize,允许在iOS模拟器上运行Expo所提供的程序包。

需要在真实设备上运行?BrowserStack也提供支持。

原文:https://hackernoon.com/no-mac-no-problem-how-to-write-native-ios-apps-sans-apple-tma73wqf

本文为 CSDN 翻译,转载请注明来源出处。

【End】

推荐阅读 
悼念前端大牛司徒正美
为什么许多程序员讨厌结对编程?
用于单图像超分辨率的对偶回归网络,达到最新SOTA | CVPR 2020

无代码时代来临,程序员如何保住饭碗?

在容器上构建持续部署及最佳实践初探

比特币由"蒙面人"创造,那下一个"比特币"还会由蒙面人创造吗?

你点的每一个在看,我认真当成了喜欢

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接