惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
H
Hacker News: Front Page
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
Microsoft Security Blog
Microsoft Security Blog
N
Netflix TechBlog - Medium
U
Unit 42
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
Google Online Security Blog
Google Online Security Blog
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
T
Tenable Blog
博客园 - 叶小钗
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
量子位
P
Proofpoint News Feed
H
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
宝玉的分享
宝玉的分享
Recorded Future
Recorded Future
The Register - Security
The Register - Security
F
Fortinet All Blogs
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
S
Schneier on Security
V
Vulnerabilities – Threatpost
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
G
GRAHAM CLULEY
G
Google Developers Blog
月光博客
月光博客
V
V2EX
T
Troy Hunt's Blog
A
Arctic Wolf

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
从不懂 iOS 开发到 App Store 上架,开发过程和经验全分享 - 少数派
2021-06-27 · via 少数派

应用简介

我做的应用是 Seamless,一个基于 CloudKit 的文件和文本传输工具,目前有 iOS 版、Mac 版以及网页版。除同步文件外,Seamless 的 iOS 版也是一个剪贴板应用。

seamless-complete-set.png

应用从开发到上架历经九月,开发时间为工作日晚上和周末。在此分享整个过程所经历的事情,及一点经验和见解,希望能为同样有志于 iOS 开发的朋友提供些许帮助。

WWDC 2019 时,看到 SwiftUI 的发布,我有点兴奋。因为全职工作是前端开发,而 SwiftUI 一眼望去和平常写的 React 相似;平时对独立应用开发兴致勃勃,有好些项目都开了个头。我想 SwiftUI 应该能降低 iOS 开发的入门成本,说不定写起来真的和 React 差不多(剧透提醒:不是的)。于是我就想,我能做一个什么 App 呢?

想来想去,只能从自己的需求出发。

我平时不在工作 Mac 上登录微信,但有时候需要在微信上分享一些电脑上看到图片或文件。用多了 AirDrop,其实会发现 AirDrop 也没那么方便,配对过程有时会过长,而且 AirDrop 没有文件管理。

许多人为了同步文件和文本,往微信的文件传输助手发文件或文字。但这种方式的缺点也显而易见:文件有过期的风险、文件管理过于简陋。思索着这个需求的解决方案有值得优化的地方,于是 Seamless 应运而生。

所以最早的开始,Seamless 的定位就是一个更好的文件传输助手。

自己的需求靠谱吗?

为自己开发是比较容易的,但自己的需求不一定通用。上架三个月以后,Seamless 的销量不尽人意,这里面有推广的问题,也有应用需求的问题。

如果你开发应用不仅仅是为了入门和学习,那么确认需求前,最好看看 App Store 是否有同类应用,和身边的朋友聊聊自己的应用想法,获取一些外界输入,确定这个应用是否真的有需求。

我觉得现状是,如果一个应用在 App Store 没有大量同类型应用,那么大概率是它没有大量需求,而不是你的想法绝妙。

所以选一个热门分类,然后比同类 App 做得更好比埋头做全新的产品有更大的概率获得成功。记账、To-Do App、笔记 App 等品类都非常热门,需求是已经验证过的。

开始学习 Swift

我平时写的语言是 JavaScript,对 iOS 开发的所知有限,大概就是知道需要 Mac 和 XCode,以及要会 Swift 语言。兵马未动,粮草先行。于是我开始学习 Swift,学习资料是由志愿者翻译的官方文档《Swift 编程语言》。

虽然我是程序员,但如果正在阅读的你并不懂程序开发,我觉得也不要让这个成为你的绊脚石。除开在程序语言学习和编程经验上有优势外,iOS 开发和前端开发差别颇大,包括使用的工具、代码的组织形式等。绝大部分 iOS 开发相关的知识这些对我而言也是新的。

Swift 当然不是 iOS 开发的必需,现在有很多可选的跨平台技术方案,比如目前较热门的 Flutter。但据我观察,iOS 开发的盈利概率和水平仍是较高的,而采用原生的技术开发的 App 能提供最好的体验,这相对提高了盈利可能。

如果你不知道该选跨平台技术还是 Swift,那么你就应该选 Swift。

开始学习 SwiftUI

Swift 语言上手以后,我就开始学习 SwiftUI 了,学习资料也不过是苹果官方的 SwiftUI 文档,当时除了这个以外,也没有其他的了。我跟着这个 Swift Tutorial 一行行地写,学完之后的心情如下图:

how-to-draw-a-horse.jpeg

当时的 SwiftUI 还是第一个版本,许多功能不完整,而且相关学习资源稀有,对于初入 iOS 开发的人来说,一旦遇到问题就很容易落入困境,难以解决。再加上自己三天打鱼两天晒网的性格特点,学一阵子后我就弃 SwiftUI 而去,应用开发就此搁置,此时仍是 2019 年,世界仍和往常一样。

开始学习 UIKit

时间快进到 2020 年。

WWDC 2020 的新闻让我想起了这个应用,总不能一次次地挖坑而不填坑,于是一狠心一咬牙,在 WWDC 2020 前订阅了苹果开发者帐号。那时候我已确认 SwiftUI 还不是成熟技术,UIKit 仍然是首选,于是开始学习 UIKit。

UIKit 的学习资源非常丰富,我当时看的是 Programming iOS 13,遇到某个书中没有详解的知识点时再搜索相关文章。iOS 社区非常活跃,许多问题都能在 Stack Overflow 或者 iOS 开发者的博客看到解决方法。

如果你是一个没有编程经验的新手,那么在搜索相关答案时,尽量还是使用英文关键字和对英文搜索支持更好的搜索引擎(Google 或者 Bing 都可以)。

SwiftUI 还是 UIKit?

随着 WWDC 2021 的发布,SwiftUI 也已到了第三个大版本。经过两年沉淀的 SwiftUI 不再像两年前那么孤零无助,已有着非常丰富的学习资源。

现在国内有由 Objc 中国出版的不错的 SwiftUI 套装,国外也有斯坦福出的公开课 CS193p,Hacking with Swift 的 SwiftUI by Exmaple,以及诸如 Design+Code 的各种各样的付费课程。

如果你现在需要做一个应用的话,SwiftUI 是更好的选择。

iOS 14 新添的桌面小组件只能由 SwiftUI 实现。iOS 15 更是带来了由 SwiftUI 重写的天气应用,SwiftUI 在 iOS 系统应用里也有了一席之地。SwiftUI 是苹果平台应用开发的未来,但这个未来更近了。

UIKit 尽管更成熟,有更多的解决方案。但 SwiftUI 有高得多的开发效率和上手速度:我用 SwiftUI 画过一个 App 的原型,只需区区数十行代码。

过去四年发布的 iPhone 里,有 90% 运行着 iOS 14。按照以往经验,iOS 15 发布后,很快就有大量 iPhone 升级至最新系统。这意味着,如果你现在开始规划一个 App,那么它的最低要求系统可以是 iOS 15,这样你就能用上最新的 SwiftUI

需求文档

虽然需求来源于自己,但这不意味着不需要需求文档,这只意味着你可以以任何方式来记录需求。而 Seamless 的需求文档最早是一篇用 Bear 写的笔记,里面解释了应用的基本功能。后续的开发过程中需求逐渐明确,文档滞后于实际产品,反正脑海里产品已明确,索性不再更新文档。

seamless-requirements.png

需求越来越清晰后,我就开始用 Things 管理项目。在 Things 里新建项目,然后新建「功能」、「Bug」、「其他」等标题,再在标题下添加待办事项。

项目管理是整个应用的生命周期里都是必不可少的。如果我要开发下一个应用,那么我会在项目开始就引入项目管理。而管理工具我觉得选择自己最喜欢的 To-Do App 即可。

原型

最早的原型是我用中性笔在 A4 纸上画的。绘制的过程也是产品的规划过程:界面有几个 tab、每个 tab 表示什么、列表需要展示什么信息。

prototype-seamless.jpeg

当然,我知道有更专业的原型工具,但我比较抗拒这里的软件学习过程(就是懒),所以我的原型仅仅停留在页面元素展示,没有任何的交互过程。

我后来也体验过一些在线原型应用,比如用 Whimsical 画线框图也有很不错的体验。

设计

设计是许多程序员难以逾越的问题,我也不例外。

Seamless 的设计并不出众,在你有过硬的设计能力前,尽量贴近原生风格是不错的选择:Seamless 的设计参考了 iOS 的「文件」应用和 macOS 的「访达」应用,大部分组件也是原生 UIKit 组件。

苹果官方的 Human Interface Guidelines 是必读的,除了解苹果的设计语言外,里面罗列了系统自带组件以及其使用场景,在设计应用交互时获益匪浅,即使从头到尾地粗略翻翻也能获取不少新知。

应用图标

应用图标是不少人的难题。Seamless 的图标我也不觉得「好看」,但与许多个人开发者自制的图标而言,这个图标可谓「不丑」。

seamless-icons.png

我本身没有使用设计工具的经验,Photoshop、Sketch 之类的甚至没有安装,唯一安装的设计软件只有 Pixelmator Pro,所以 Seamless 的图标是在上面完成的。

图标的概念很简单,就是云和闪电作为主题,星星是装饰。有了图标概念后,就要开始绘制,而我是不会使用这些作图工具的,那应该如何是好?

我开始在网上找免费的图标库,然后找到里面的云、闪电和星星,再全部拖到 Pixelmator Pro 里面拼凑。但事实是,找到合适又免费的图标库要比想象中难。后来我灵机一动,想起苹果在 WWDC 2019 发布的 SF Symbols 是可以导出 SVG 文件的。

导出这三个图标的 SVG 文件,然后拖到 Pixelmator Pro,拼拼凑凑,这里点几下那里点几下的就解决了图标问题。

现在我年纪更大,更有智慧了,发现用 Figma 的图标模板做图标更快更好,我也建议大家用免费的 Figma,然后配合 SF Symbols 做图标。

图标完成后,还可以使用 Asset Catalog Creator 导出符合 XCode 标准的 Asset Catalog。

AppKit

Seamless 除了 iOS 版本外,还有一个由 AppKit 开发的 macOS 应用,而 AppKit 的问题是遇到了问题找不到答案。所以 Seamless for Mac 的代码量虽然远远少于 iOS 版本的,但给开发过程带来的心理负担却也不小:这东西到底该怎么弄,怎么文档一点用都没有,苹果到底在干嘛,我 100 刀的服务费就换来这样的东西?

seamless-mac-screentshot.png

如果你的应用一定要有 macOS 版本而且 Catalyst 不符合你的要求的话,那么开源 macOS App 项目是很好学习资料和参考对象。我在开发过程中主要参考了 RSS 阅读器 NetNewsWire 的实现。

或者也可以直接用 SwiftUI 写 macOS 版本,不过这方面的经验我也不多,仅提供一个想法。

应用审核

作为一个经验尚浅的的苹果开发者,我认为苹果对新应用的审核较严格,而后续的版本更新一般能在 24 小时内通过,有时甚至能在一小时内通过。

Seamless 的第一次审核通过耗时三周,期间被拒绝三次,大部分时间都在等待苹果审核。

所以我觉得不要等到功能全做完再提交审核,当你觉得完整功能大概还需一月就能完成时即可提交审核。提交审核后是否上架在于开发者,但其实上架也无妨:反正也没人下载。

应用网站

有一个应用网站能带来不少好处,因为网站能容纳更多内容,而且无需苹果审核。除了必须的隐私政策和基本的应用介绍,你还可以附上用户协议、帮助指南、常见问题、社交账号等。

如果你的应用功能较多,并且你希望长期运营应用,那么搭一个应用网站,宣传应用时把流量指向网站也是不错的。

建站的教程有许多,这里我不细谈。Seamless 用的是免费的 Vercel 和开源项目 Next.js,整体体验非常好。

如果你需要分析网站访问,那么可以使用有着简单清晰控制台的 SplitBee 而不是 Google Analytics 或类似的老一代产品。在产品初期阶段,免费版应该足矣。

本地化

英语是必须的,不然你就失去了完整的国际市场。

虽然 Seamless 的用户还是以大陆用户为主,但原因也不过是因为我更熟悉中文互联网,能在许多中文网站上推广。而据我有限的英文网站推广经验而言,美国用户的付费率较高,如果你的应用能受到大陆用户欢迎,那没理由放弃付费率更高的发达国家用户。

如果你对自己的英文没有信心,那么就认真做好简体中文,然后直接使用广受好评的 DeepL 翻译完成英文版本。

用户反馈

Seamless 上线后的开发节奏依用户反馈而定,因为我也已到不能自产需求的阶段。Seamless 网页版、浏览器插件等功能来源于用户反馈。

这当然不意味着唯命是从,你仍然需要判断用户的需求是否通用,以及是否可行:比如有一些用户就建议再做一个 Seamless for Android,而这从开发成本而言是不可行的。

另外,既然用户已经发邮件联系了,说明他乐于提供建议。如果你不确定此功能是否必需,或者干脆不明白用户在说什么,那不妨继续和他探讨,让其提供使用场景和更多说明。

推广

让更多的人知道你的应用是件难事,我也在学习之中。这里分享一些可以免费发帖,而且能带来一些用户的地方:

  • V2EX: 创意工作者们的社区。看发帖后的热度或许就能明白应用的受欢迎程度。
  • 少数派:高效工作,品质生活。懂得都懂。
  • Product Hunt: The best new products in tech. 国外的专门发布新产品的网站。
  • Reddit: 社区网站 Reddit,可选择合适的版块发帖推广,如 iOS Apps。发帖前注意看版块的规则,有些版块不允许推广。

我目前还未尝试过付费推广,但如果你的应用有一定收入了,或许可以考虑付费推广,比如和一些公众号合作等。

收费模式

你应该选择「免费下载,内购解锁高级功能」的模式。事实就是大家都不爱下载付费应用了,更不用说一个初出茅庐的付费应用。

当然,单纯做一个免费应用也未尝不可。如果你的免费应用能大卖的话,也能靠此积累一些知名度,对后续的应用推广也有帮助。

最后的话

我想很多有意 iOS 开发的人,心底或许希望有一天能走上独立开发的路,这条看起来很自然的路。但如果你期望于应用发布后立即大卖上榜,那你很可能失望。

独立开发者一般只能做工具类应用,指望靠工具类应用养活一个团队是很难的,但养活一个人的可能性还是有的,特别是在中国这样不同城市生活成本差异巨大的国家。

目前来看,在业余时间进行 iOS 开发是一桩好事:软件开发也是创作,创作过程能带来快感。如果你能享受这过程,以平常心对待结果(App 打骨折也没人买),继续做下一个应用,很难说你没有机会。

希望以上分享能给大家带来帮助,共勉之。