1 小时制作 macOS、iOS、iPadOS 跨平台应用
Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
故事发生在我今天坐等 Apple Silicon 芯片发布会的时候。看表还有一个多小时到发布会,干等着也没意义,索性用 Apple 为开发者提供的最新流程和技术,写个跨平台应用程序,带大家了解一下应用程序的开发流程。
本次发布会后,所有的 iOS 应用均会支持采用 M1 芯片的 Mac 产品线,目前开发者的应用上传界面已经明确说明,如下图所示。
至于其运作原理,我已经在文章 「ARM, AMD,英特尔」硬件科普及我见的未来、 Apple 发布会:新 Mac 会带来的改变、 为什么 ARM 版 Mac 运行效率很高? 里从多个角度仔细讲解,不再赘述。
准备开发环境
本文所用操作系统位 macOS Big Sur 11.0.1 RC 准正式版,开发环境为 Xcode 12.2 RC 准正式版。使用编程语言为 Swift 和 SwiftUI。
开发什么?
考虑到时间紧张,开发一个完整应用是不现实了,不过还是可以做一个找一个有趣的开源动画,帮助大家在等待发布会的时候舒缓心情。我选用的是作者 Javier 制作的制作的一朵花的动画,并在此基础上进行改动。下图是应用本文最终开发成果。
开发步骤
本小节并非应用开发教程,只是我在边敲代码边写文章,对开发过程中重要时间节点的记录。
第 1 步 (距发布会还有 1 小时 54 分钟):选择 Xcode 欢迎面板中的「Create a new Xcode Project」来创建一个新项目。接下来会弹出如下图所示的 Xcode 模版选择界面。
Apple 提供了一系列已经完成部分琐事后的成品模版以供使用,方便开发者快速进入创作状态。此处选择默认的「Multiplatform App」跨平台模版,并点击「Next」下一步。
平台模版是开发 iOS、iPadOS、macOS 的跨平台应用的优秀起点,后续你也可以在项目中根据实际需求为其添加 watchOS 等其它平台的支持。
第 2 步 (距发布会还有 1 小时 52 分钟):在选择模版后,接着弹出的便是当前项目设置。你既可以在这里提供项目的详细信息,也可以轻度定制你的模版。我们将项目命名为 MacEvent。点击下一步并保存,新应用便创建完成了。
第 3 步 (距发布会还有 1 小时 46 分钟):创建好应用后,编辑一些与苹果发布会相关的文字。如下图所示,Apple 设计的 SwiftUI 界面开发语言非常好读,和我们正常说话时几乎一样的。
比如下图中的代码,指的是「文本是这些 Text,要大字体 .font(.largeTitle),要加粗 .bold(),四周留有间距 .padding()」,大概就是这样。下图右侧的 iPhoen 12 Pro 设备,便是开发环境中的预览视图。
第 4 步 (距发布会还有 1 小时 32 分钟):纯黑的字体不是很好看,可以考虑给它加一点渐变色,此时我去创建了一个 Helper 文件,往里加进去了一些辅助函数。接着打开 Sketch,找两个渐变色的色号添加至代码中。
在 iPhone 12 Pro 的模拟器运行,看看效果,如下图所示。
第 4 步 (距发布会还有 1 小时 25 分钟):接下来就是把之前找到的动画放上去,复制已经写好的动画代码到文档中,顺便调整一下刚刚弄好的渐变文字的对齐。因为还要写这些文字,所以花的时间会更多一点。
第 5 步 (距发布会还有 1 小时 21 分钟):觉得之前的渐变色太土了,而且是居中渐变,不满意。于是花了一点时间去调整了下渐变色和渐变的初始位置。下图中新渐变色起点改为了左上角。
第 6 步 (距发布会还有 55 分钟):应用现阶段好像有点无趣,缺乏与用户的交流。琢磨着可以增加一个提醒,让用户跟着动画来调整呼吸。这样的话就需要一个提示文字,加在动画下方,如下图所示。
此时的文字的动画显得比较突兀,我花了一段时间给它加一个边框。这个边框折腾完之后效果不好,又被我给移除了,耽误了一段时间。最终转而制作了简单的字体呼吸的缩放特效。
第 7 步 (距发布会还有 35 分钟):剩下的时间不多了,考虑在底部加一个版权说明。这次是 Apple 官方的活动,所以找一个苹果图标。打开 SF Symbols 图标库,搜索并寻找 Apple 图标,如下,名称为 applelogo
。
完善一下版权说明部分的文字样式,设置为两侧对齐,并在中间加入了占位符,最终效果如下图。
第 8 步 (距发布会还有 30 分钟):在设置面板的兼容性设置中,确认该应用支持 Mac、iPad、iPhone。之后就可以在不同的设备上进行测试了,结果如下图。
截一张应用在 Mac、iPad、iPhone 上运行的截图,应用至此制作完成。
总结
作为一次发布会前夕的快速尝试,除去写文字和准备图片外,实际开发用时不到一小时。这个应用具备了跨平台运行、自适应设备尺寸、支持分屏模式、支持夜间模式等特性。如你所见,制作一个独立应用并没有大家想象的高门槛,只要有一个想法,把它表述出来即可。
若你你的脑海中肯定也有创意的想法想要实现,欢迎去阅读我正在制作的「创作者的 iOS 独立开发指南」。这是一份写给新人的系统性入门指南,你不需要学完了某个点再去找别的教程。文章独自成主题,可按照自由节奏阅读。
它包含商学知识、编程语言、应用设计、构思、推广等独特内容。若你想投资自己,或邀请朋友来阅读本课程,现在是最好的时候。作为作者福利,你将获得 20 元现金券优惠券,优惠券有领取数量限制,且可以与目前少数派举办的双十一活动优惠活动叠加,先领先得。