先说结果:iOS版App已上架,名称-楼里,再看下面的详细过程;
先硬广一波,安卓版安装包和七号楼-独立开发知识库,关注公众号:七号楼,私信"楼里",即可领取。
一、简介
八月初代码就开发好了,然后就是一轮测试和验收。八月中旬,开始打包提交到AppStore审核。
结果磕磕绊绊,踩了一路的坑。起初天真地以为打包上传,只要有手就行。结果整个流程像是"九九八十一难"豪华套餐。细节我就不多说了,懂的都懂。
下面我将梳理从打包到提交AppStore审核的一整套流程。
先提一下用的技术栈,前端:UniApp,后端:Java,发布平台:iOS。即使技术栈不同,或者发布的是安卓平台,很多地方也是共通的。
文章篇幅有点长,请耐心看完,按照我的顺序来,可以让你少走很多弯路,直通待审核那一步。
二、IOS打包环节
2.1、苹果开发者账号
申请苹果的开发者账号,这一步很简单,不懂的自行搜索,有很多教程,基本是有手就行。
不过最难是准备688元,掏钱那一刻确实很难。付完钱,预计等待1-2天,官方就会给你发邮件,内容如下;
那么恭喜你,顺利成为苹果的开发者了。
2.1、证书申请
这个稍微有点复杂;
首先,你得有一台Mac笔记本,command+空格,搜索"钥匙串访问",并且打开它;
在页面左上角选择,证书助理->证书颁发机构请求证书...
然后会弹出一个"证书助理"的表单页面,填自己的邮箱,常用名(写自己姓名),请求是:选择"存储到磁盘"。点击继续,会让你选择存储到哪个文件夹下。找到这个文件,不改名默认都是这个"CertificateSigningRequest.certSigningRequest",这个文件留着备用,咱按顺序继续往下走。
完成了上面的步骤,就可以打开苹果官方的开发者平台网站,网址:https://developer.apple.com/cn
点击导航栏最右边的"账户",登录自己的账号。然后找到证书 (英文),点击进去;
来到证书页面,点击+号创建一个证书
创建证书需要分清楚是开发版本还是发布版本,需要上架,所以选择第四个发布版本的证书。如果是本地打包测试,就选第三个。
点击继续,会跳转到一个选择文件的界面,我们选择上面"证书助理"生成好的文件
最后再次继续,就会得到证书详情页面,点击下载,建议存到"CertificateSigningRequest.certSigningRequest"这个文件同一个目录下,你会得到"ios_distribution.cer"这个文件。然后双击这个文件,会自动打开钥匙串访问。
重点来了,左侧选择"登录",上面导航栏选择"证书",然后选择IPhone Distribution...那个证书;
右键导出,文件格式:个人信息交换(.p12),存放目录建议还是跟上面的两个文件一致,这样便于寻找和管理。导出的时候,需要设置一个密码,请记住这个密码,后面打包要用到。
继续回到苹果开发者的后台网站,左侧导航选择"Identifiers",一样的套路点击+号新增,来到新增界面,就选择第一个App IDs
点击继续,选择App选项
再次点击继续,来到一个表单。这里需要填写Description(描述信息),Bundle ID(捆绑ID,这个比较重要,很多地方用到)。两个输入框的底下分别有写填写样例,按官方的要求来填写就行。
最后一路继续,最后点击Register,没有提示错误信息,就说明一个Identifier就注册好了。
注册了Identifier会自动回到主界面上,继续下一个环节,选择左侧导航栏的"Profiles";
然后,跳转到一个选择界面,下拉到最底部,选择Distribution->App Store Connect,继续下一步。
来到选择App ID的页面,选择刚才Identifiers那里创建的那个id就行了,然后无非就是继续下一步,填一个文件名,随意发挥就行。最后下载一个这个生成的Profile,还是建议保存在前面三个文件存储的目录下,这样就会得到四个文件,就像这样;
其中,.p12文件和.mobileprovision文件,是打包所需的。至此,证书申请这一环节完成。
2.2、APP的ICP备案
这块放这里,是有原因的,并且就该在证书搞定就申请。
一句话:把"主体、域名、服务器、APP特性"四项材料一次备齐,最快7-10天就能下号。
没错,最快是7-10天,所以呼应上面,苹果的证书搞定就申请(因为备案需要用到证书里的信息)。我就是吃了没经验的亏,兜兜转转好多次,才知道要申请。
备案的入口,登录自己的服务器控制台,然后搜一下:ICP备案。
准备的资料信息如下:
1、主体
若是企业申请,需要准备:营业执照原件扫描件(彩色、公章可见)、法人身份证正反面、网络信息安全承诺书。若是个人申请,就只需要身份证即可。
2、域名
已实名且与主体一致的二级域名证书(阿里云/腾讯云可下载),域名有效期≥3个月,WHOIS信息须公开。
我是腾讯云的轻量级服务器,所以以下都会按照腾讯云为案例说明。按照腾讯云的指引,花点小钱,买了个一年的域名。
3、服务器:大陆节点的服务器即可
4、APP特征信息
APP名称:与上架苹果AppStore的一致;
运行平台:iOS、Android、HarmonyOS(可多选),这里就单选了IOS;
APP图标:这个自己准备,我直接传了个1024x1024的,因为后面ios打包也需要用这个图;
Bundle ID:这个想必很熟悉了,填进去即可;
公钥:这个需要用到上面说的,"钥匙串访问",找到里面我们的证书,然后右键,显示简介,下拉到大概中间为止,公共密钥就是,刚打开会显示不全,点击后面的...展开就行。
签名MD5值:还是这个证书显示简介的页面,下拉到最底部,找到指纹->SHA-1,这一串就是。
其实公钥和签名MD5值不清楚,在ICP申请填写这两项的时候,腾讯云官方会有指导文档的,点击看下就非常清楚。
5、其他注意项
其实备案信息填写也很简单,基本也是有手就行,按照官方的提示一步步来就行。不过结合我的实际经验,最后还要提几点:
- 视频人脸核身的时候,穿衣得体一点,就比如正常短袖即可。(我是因为传了睡衣,被腾讯官方提醒重新核身)
- 上传身份证用的微信小程序,照片是不够清晰的,所以有必要在补充材料上传环节,将自己清晰的身份证上传一下,这个也是官方提醒过的。
- 信息一定要真实填写,实事求是即可
信息提交完毕,一般第二天腾讯官方会打电话询问情况,有问题就修改资料再次提交,没问题就会初审通过。然后会收到短信,提示需要在24小时内登录工信部进行短信核验,按照提示去操作就行。
最后,就会进入管局审核。到了这一步,就是安心等到即可,上面说了,一般会是7-10天。
2.3、打包信息填写
备案信息提交,那就暂时放一边,等通知就行了。
用HBuilderx编辑器打开manifest.json文件,它默认展示一个可视化的界面,相对来说还是比较友好的。
2.3.1、基础配置
应用名称:APP的名称,就是上架的APP名称。
基础配置中其他的配置:有手就行。
2.3.2、安卓/iOS图标配置
相信都到打包这一步了,你肯定有自己的App图标,如果没有,出门左转。
把图标调整成1024x1024的大小,并且要注意两点:第一、用直角的,iOS官方的要求。第二、去掉Alpha,也是官方要求。
去掉Alpha的步骤如下:
1、用Mac自带的预览打开图片。
2、顶部导航栏,文件->导出。
3、点击取消Alpha的勾选框,如果已经取消的图片,是没有Alpha这个字样的。
这样APP的图标就制作完毕了。
继续回到HBuilderx的manifest.json文件,左侧导航选择安卓/iOS图标配置,直接在自动生成图标那一栏上传刚才制作好的图标,然后点击"自动生成所有图标并替换",这个编辑器就会在项目的根目录下,自动生成unpackage/res/icons目录,所有自动生成的图标都在里面。
2.3.3、安卓/iOS启动界面配置
启动界面选项的两个勾选框,我是直接去掉的
具体是什么含义,请参考uniapp的官方文档,官方有详细的说明,点击详情可直接查看。
iOS启动界面设置:官方要求,APP启动需要一个欢迎页。这里我自己用代码写了启动首页,所以不需要这里的启动界面。试过很多方式,取消不了这里的启动界面。而且刚进APP第一个打开的界面,就是这里配置的启动界面。(有可以取消的方法,麻烦告诉我一下)
最终我选择了自定义storyboard,并且storyboard文件除了一个背景色,没有其他任何图案,而且文件的背景色跟代码编写的首页背景色一致,这样刚进APP是这个自定义的storyboard界面,然后丝滑的转到我编写的欢迎页,这样就会在视觉上达到启动就是编写首页的效果。
以下是storyboard制作的方式:需要用到Xcode,创建一个空项目,然后在项目上右键,选择从模板新建文件;
然后选择模板Storyboard,就会得到一个storyboard文件
最后调整文件的背景色,选择跟自己写的欢迎页一样的背景色就搞定了
不过在HBuilderx中用到这个文件的话,打成一个zip压缩包,最后选择这个压缩包文件,这样iOS的启动界面就配置好了。
不过还需要在代码中主动关闭启动页面,App.vue的onLaunch生命周期函数中如下代码;
typescript
// #ifdef APP-PLUS
plus.navigator.closeSplashscreen()
// #endif
2.3.4、安卓/iOS常用其它配置
来到这个配置界面,拉到最底部,把"使用广告标识(IDFA)"这一项的勾选框去掉,不然上架ios的时候,会提示:
你的App包含NSUserTrackingUsageDescription,这表示你将会请求追踪用户。要在 App 产品页面上发布此信息,你必须注明哪些数据类型会追踪用户。如果此描述有误,请更新你的App二进制文件,并将新的构建版本上传到App Store Connect。
2.3.5、iOS打包
HBuilderx上面导航栏,选择发行->App-Android/iOS-云打包,然后就会跳出此界面;
勾选框像我图里一样勾选就行;BundleID :就是之前在苹果开发者后台创建的,填进来;证书私钥密码 :就是导出p12文件时,填的密码;证书profile文件 :证书四个文件中.mobileprovision结尾的那个文件;私钥证书:以.p12结尾的文件。最后点击打包,等到1-2分钟,控制台会输出下载ipa包的链接。
到这一步完成,整个打包就好了,只需要等待APP的ICP备案完成,就可以去提交审核了。不过我们可以先去官方的管理后台,填写一些APP的资料。备案号只需要等审核下来,再填写进去即可。
2.4、App开发注意事项
这里单独拎出来讲,是有原因的。
1、App除了登录注册、隐私政策、服务协议等功能和信息外,额外还要有一个功能:用户注销。(也可以提供一个供注销的链接跳转到指定网站)
2、除此之外,在App中不要包含其他热门App的名称、logo等,否则会被直接拒绝,判定抄袭,除非有这些App的授权。
以上两点,别问我怎么知道的,因为这是经验之谈啊!
三、后端部署
本来想直接过,提一嘴是因为IOS审核期间,审核人员可能会登录你的app使用,所以保证服务正常就行。
四、iOS APP上架
4.1、APP交付
用Mac电脑下载Transporter软件,首次需要登录下自己的开发者账号,然后上传一下上面打的包,最后点击交付即可,如果包有问题,这里会有提示相关问题,按要求调整后重新打一个包即可。
4.2、APP上架
登录苹果官方的App Store Connect,网址:https://appstoreconnect.apple.com
自行登录,然后点击App,新建一个App,然后新建表单按要求填写信息即可。
以下我将按照上传界面左侧的导航栏,分别来讲配置的一些要点;
4.2.1、App基础配置
准备开发产品的10张截图,按官方的要求截图,传上去。
推广文本、描述、关键词,这哥三建议直接能用AI给你生成一下,不过跟AI好好描述下你的运用场景。
技术支持网址 (URL):用AI生成下这个网页的内容,然后让它输出一下html文件;我知道的几种方式部署这个文件:1、文件丢在自己服务器上,Nginx做个转发。2、github新建一个公开仓库,文件丢到仓库根目录,然后设置成静态网站。3、Notion搭建个人静态网站。反正几种方式都可以,不会的搜索下或者问AI,基本也是有手就行。
版权:按官网的案例要求填写即可。
构建版本:选择刚才在Transporter中上传的那个版本即可。
App 审核信息:填一下个人信息,还有你app可登录的账号密码信息(若有)
App图标:上传直角的,大小为1024x1024的,去除Alpha的图片
4.2.2、App信息
年龄分级:主要是这个,按自己的实际要求,填写一下就行。
中国大陆 ICP 备案号:需要等上面说的APP备案管局审核通过,填一下备案号即可。
其他的信息在新建的时候,基本填过了。
4.2.3、App 隐私
隐私政策网址 (URL):按照上面技术支持网址 (URL)的方式,生成网页,然后把网址配置一下。
数据类型:填否,若真有,如实填
最后,看自己app的情况,哪里需要补充的就填哪里的信息,我自己的app就涉及到这些方面。
4.2.4、价格与销售范围
在上架之前,这个类目下还需要填"App供应情况",根据自己App是实际上架地区填写,不填的话,在发布之前会提示你:
五、互联网安全管理备案
如果是首次上架,还有个最重要的步骤:需要拿到备案号,登录**全国互联网安全管理服务平台,**如实填写自己的App信息和个人信息(企业填写法人信息)。
一般2-3天左右就会收到电话通知,App和小程序会要求线下面签,以及审核;网站则是线上沟通并审核;遵守规则,好好配合就行。
App或者小程序在线下面签过程中,需要简短的演示功能,保持功能链路完整畅通,信息做到合理合法,一般就能通过。
六、写在最后
这是刚经历过的全流程,包含从iOS打包前的资料准备,到iOS打包,再到App的ICP备案,最后提交官方审核的全记录,还是那句话,按这个顺序来,可以省下很多时间。希望对你有所帮助。
plain
知识归档Git仓库
https://gitee.com/cicadasmile/butte-java-note