我的第一款App,已上架App Store
App Store 的应用上架经历还是轻松愉快的。国内主流应用市场现在已经完全不允许个人开发者上传应用,并且需要严格审查软著,备案等信息。早些年,个人开发者还被允许上传应用时,某个主流平台拒绝了我的App,给出的理由竟然是“因为你的应用没有在其它平台上架,所以我们也不能批准你上架”。App Store 虽然收费贵了点,但至少还保留了个人开发者应用上传分发的渠道。iPhone用户们,还有哪些场景是现
App介绍
今年7月,我做了一款手机APP。
它能够显示时间和一句随机诗词,点击屏幕或者等待一小时,诗词内容会自动刷新,让你的手机变成一个优雅的桌面摆件。
在装饰桌面的同时,能够潜移默化地陶冶文学情操。

为什么要做这个 App 呢,因为现有的桌面摆件类 App 普遍存在三个问题:
- App中掺杂广告,甚至存在应用内付费策略
- 仅支持竖屏设备,而无法横屏显示
- 每日金句类型居多,鸡汤类的文本太庸俗
而这个 App 界面清爽简洁,打开即用,毫无操作门槛。

App 名称叫“羲和”,起这个名字有两个原因:
- 羲和是我在学校学生报社工作时的刊物名称,神话中指的是的太阳女神,本身有美好的寓意
- 为了考虑上架国内的安卓应用分发市场,早已为此名称申请软著,虽然后续没有用上
现在,苹果手机的用户在 App Store 上搜索“羲和”,就能安装此应用。

除此之外,本文还想分享一下,我是如何将这款 App 放上苹果应用商店的。
应用准备
这款应用本身定位是多移动端适配,因此采用了跨平台的 Flutter 进行开发。
如果要上架 App Store,首先需要有一台 MacOS 的电脑,因为需要用到 Xcode 这个官方指定编辑器。
首先需要在 Mac 上,检查 Flutter 是否支持 iOS,用以下命令:
flutter doctor
正常情况下,默认是不支持的,需要额外安装iOS平台的第三方依赖管理工具 cocoapods,执行
sudo gem install cocoapods
安装好之后,可以启动一个手机模拟器:
open -a Simulator
运行代码,它会自动在模拟器中构建应用,可以进行功能测试。
flutter run
准备签名
要发布应用,首先要注册成为 Apple 的开发者,年费是¥688/年,申请后约两个工作日审核通过。
之后,去开发者后台创建应用:
后台地址:https://developer.apple.com/account
下面先在Identifiers里面注册一个应用,填写基本介绍和标识符,这个标识符类似于Android里面的包名,用来在系统中区分不同的App。
我这里以 Android 的规则习惯来命名,后面的Bundle ID同理。

下面还要选取应用所需要的权限,比如我这款应用需要联网在线获取诗词,就把 Network 的能力勾选上。

在用途中,选择App Store Connect用来进行分发。

设置完之后,可以得到一个.mobileprovision文件,这个文件包括了应用信息和签名信息。
提交应用
在 Flutter 中,可以生成 ios 的工程文件 .xcodeproj,下面用 Xcode 打开这个文件。

在 Targets->Signing 中,取消勾选自动管理签名,将上一步得到的.mobileprovision文件手动进行导入。

之后,点击Product->Archive,可以将应用编译并上传。

上传前,需要核对网页中设置的Bundle Identifier 和本应用的 SKU (唯一识别码),完全匹配才能继续上传。

上传成功后,会出现以下反馈。

编辑应用信息
上传成功后,就可以在管理后台看到应用的版本信息了。
除此之外,还要设置应用的详细描述、发布地区、应用预览图、隐私政策地址等信息。
隐私政策是需要有一个 Url 链接进行访问,我直接让 AI 根据我的项目内容,生成了一个静态网页,挂在了 Github Page 上,将链接填入。
完成后,点击上传提交,就可以等待审核。

审核反馈
第一轮花了约两个工作日反馈了结果:

他说,我的应用存在两个问题不能被接收:
- 问题一:在
年龄分级那里,勾选了:家长控制和年龄验证,但实际的 App 时,没有发现这些功能。 - 问题二:上传的 iPad 截图被发现是 iPhone 截图拉伸或伪装成 iPad 的。
这两个问题都挺好解决的,首先是解决问题一。
在年龄分级中,一开始我误解为国内的青少年保护,顺手点了是,而它们实际上是需要具体功能去支撑的,把它们改成否就可以了。

再解决问题二,这个问题纯属我偷懒了,因为ipad上的应用缩略图有尺寸显示,我只有iphone上的截图,于是就改了下分辨率,强行拉伸下就上传了,结果审核很在意这一点。
解决方式也很简单,直接用模拟器截图就行:
用下面的命令,查看可用设备
xcrun simctl list devices
找到一台ipad的模拟器,运行:
xcrun simctl boot 5DFE3EBE-9EE3-4B97-9EFF-B1EB854F7ECF
open -a Simulator
在该模拟器上运行App:
flutter run -d "iPad Air 11-inch (M3)"
模拟器自带截屏功能,默认的截屏图像会保存在桌面。

修改完这两点之后,还要用英文回应一下审核,有点像在学术上的rebuttal😂

让 AI 帮我拟了一下措辞,写得像模像样的。

一天时间不到,新的审核结果下来了,审核通过,应用可以分发了。
总结
App Store 的应用上架经历还是轻松愉快的。
国内主流应用市场现在已经完全不允许个人开发者上传应用,并且需要严格审查软著,备案等信息。
早些年,个人开发者还被允许上传应用时,某个主流平台拒绝了我的App,给出的理由竟然是“因为你的应用没有在其它平台上架,所以我们也不能批准你上架”。
App Store 虽然收费贵了点,但至少还保留了个人开发者应用上传分发的渠道。
iPhone用户们,还有哪些场景是现有App无法满足的?欢迎留言交流。
更多推荐


所有评论(0)