无苹果,怎么编写内置 iOS 应用?
作者 | 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
☞无代码时代来临,程序员如何保住饭碗?
☞在容器上构建持续部署及最佳实践初探
☞比特币由"蒙面人"创造,那下一个"比特币"还会由蒙面人创造吗?
你点的每一个在看,我认真当成了喜欢
无苹果,怎么编写内置 iOS 应用?相关推荐
- 用c语言编写实心菱形,C语言编写内置菱形的程序
C语言编写内置菱形的程序 最近迷上了用C语言编写图形的输出程序,有矩形的.三角形.等腰三角形,平行四边形.菱形.沙漏形.今天尝试着将菱形内置到矩形中,结果成功了,下面将快乐分享给大家,也希望广大C程序 ...
- 苹果iPhone X内置定制化神经引擎处理器
昨天,在位于苹果公园的史蒂夫乔布斯中心,苹果公司全球市场部高级副主席Philip Schiller介绍了新近发布的iPhone X中面部识别系统背后的技术,其中包括在A11芯片中置入的专用神经网络引擎 ...
- 计算器加减乘除优先级算法_计算器也算错数学?华为、苹果、小米内置计算器都算错了...
现在科技越来越发达,很多加减乘除都是用计算器,帮助我们得出结果. 近日,一则"手机计算器全线阵亡"的消息登上各大热搜榜.不少网友发现自己手机的计算器出现了一个错误:在手机计算器中输 ...
- 苹果禁止使用热更新 iOS开发程序员新转机来临
今天本是女神们的节日,所有iOS程序员沸腾了!原因是苹果爸爸发狠了,部分iOS开发者收到了苹果的这封警告邮件: [图一 苹果邮件] 消息一出,一时间众多开发者众说纷纭,以下是来源于网络的各种看法: 有 ...
- mysql hive 内置函数_Hive 内置函数
1.内置运算符 1.1关系运算符 运算符 类型 说明 A = B 所有原始类型 如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用"=&q ...
- python求最小值不能使用min和sotred_python基础——内置函数
python基础--内置函数 一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...
- mysql 内置功能 存储过程 目录
mysql 内置功能 存储过程介绍 mysql 内置功能 存储过程 创建无参存储过程 mysql 内置功能 存储过程 创建有参存储过程 mysql 内置功能 存储过程 删除存储过程 转载于:https ...
- hive 十六进制转十进制_Hive内置函数详解【转】
1.内置运算符 1.1关系运算符运算符类型说明 A = B所有原始类型如果A与B相等,返回TRUE,否则返回FALSE A == B无失败,因为无效的语法. SQL使用"=",不使 ...
- hive 十六进制转十进制_[转] Hive 内置函数
1.内置运算符 1.1关系运算符 运算符 类型 说明 A = B 所有原始类型 如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用"=&q ...
最新文章
- 又被 AI 抢饭碗?2457 亿参数规模,全球最大中文人工智能巨量模型 “源1.0”正式开源...
- VULKAN学习资料
- Python基础:获取迭代器下一项目的常见操作
- 转-WSGI Tutorial
- 远程安装CentOS
- Hibernate实体对象的生命周期(三种状态详解)
- sbt 地址修改备注
- Android EditText 不得不说的InputFilter、TextWatcher、ActionMode.Callback、OnEditorActionListener
- UDP协议和TCP协议
- 储能补贴有望出台?钱从哪来还是个问题
- 矩阵论极简笔记(1):如何降维度打击
- 我的Jdon安装第三步出错解决
- 极坐标解圆锥曲线三角形面积范围问题
- 2021软件工程保研经历
- addActionListener
- CentOS7系统之间设置共享文件夹
- Egret自定义位图文字
- 蓝宝石rx580gpuz参数_蓝宝石RX580 2048SP 4G D5 白金版 OC游戏测试
- w讠ndows Boot Manager,求大神解答:急急电脑开机出现windows boot manager无法开机怎么办,...
- Unable to load authentication plugin ‘caching_sha2_password‘
热门文章
- innobackupex做MySQL增量备份及恢复
- 恶意软件--》木马、病毒、蠕虫
- 解决apache的the requested operation has failed
- Win32汇编---控件的超类化感想
- fastica java_发一篇CCF-C论文有多难?
- eclipse mysql jndi_裴东辉-MyEclipse和Eclipse中使用JNDI来配置程序的开发,以及服务器的配置 - 裴东辉...
- 异步fifo_数字IC校招基础知识点复习(五)——跨时钟域涉及part2(异步FIFO)
- Linux下使用SSH连接远端服务器技术总结
- leetcode python3 简单题232. Implement Queue using Stacks
- 2021-2025年中国一氧化碳烟雾报警器行业市场供需与战略研究报告