printf 'hello AppStore'
先上代码为敬。
初始 - 微信小程序的幻想
说下背景,闲暇之余,博主开发了一款微信小程序,在技术选型上,直接选择了微信提供的开发体验,同时采用了SASS + TS的开发模式。
小程序名字叫鲁班计算器,主要为一款系统增强型计算器App。最近一直有基础的计算需求,使用系统的计算器,经常忘了自己输入了什么,极为不方便。网上找了一圈,没有一个能兼顾体验的计算器,要不是广告满天飞,要不是界面很丑,实在是无奈,于是决定自己做一款干净、清爽、好用、无广告的计算器,同时加入一些诸如历史记录、震动反馈、语音播报等功能,另外,实在看不惯千分位的分割方式,对于中国人来讲,万分位才是最易于阅读的数字体验,所以在这点上,鲁班计算器做了最基础的支持和优化。
想体验的小伙伴可以直接扫码体验微信小程序或者微信搜索鲁班计算器。
计算器经过 开发 -> 提审 -> 备案 -> 上架的流程,终于在微信小程序上和大家见面了。
这里提及几个过程
提审
这里不得不说,微信处理小程序的审核是真的快,鲁班计算器最长不超过1天,最快就提审完几分钟就完成了审核,对于鲁班计算器这么一款简单的工具小程序来说,因为逻辑、功能也比较简单,基本上没有被拒的问题
备案
根据国家的规定,现在微信小程序的上架都是需要经过国家审核的。
备案原来我预计的是5-10天,但整体流程下来比我想象的要顺利,整体耗时2天左右。在有通过审核的版本情况下,就可以做微信小程序的备案流程了。
进入微信小程序的备案信息填下页面,基本上按照微信的指引做填下就可以。这里要提的是,原本以为微信小程序的各种体验一般,但当我尝试做qq小程序的备案的时候,我发现我错了,qq小程序的备案槽点是真的多,文档各方面做的比微笑小程序差,同时备案流程是要先备案才能提交版本审核,同时,备案信息填写的非常冗余,不得不想吐槽qq小程序的体验。
当在微信上提交备案流程以后,就很快会有微信审核的工作人员给我拨打电话,确认一些审核细节,和提醒收到管局短信记得要去操作。然后就提交给管局审核了,很快我就收到了管局的短信,要求登录系统确认,在确认后的第二题,就收到了另外一条短信,大概过一会,就可以看到微信上的备案信息就已经通过了。
上架
通过以后就可以上架微信小程序了,不得不说,第一次上架微信小程序还是很开心的,想到能与微信13亿用户分享体验,想想就很激动啊。
现实的骨感 - 微信的封闭生态
很快我就发现我错了,微信虽然有庞大的用户群体,但是微信是一个极其封闭的生态。微信小程序的流量获取只有几个有限的渠道:群/好友分享,朋友圈,微信搜索,而群/好友分享,朋友圈是一个封闭关系,并非开放的关系,而另一个渠道微信搜索,又极其依赖微信的SEO算法,SEO算法中,对新上架的APP又不会有多少帮助。通过搜索计算器,排在第一名的,又是一个广告满天飞,体验差劲的小程序,这是多么糟糕的一件事情。
对于一个封闭的群分享/好友分享,封闭性决定了其用户的分母不会太大,而这么一个小工具,又不能天天在群里分享。另外,随着发展,大部分群都已经禁止分享小程序了,分享的后果就是被踢出去,这在一定程度上,加剧了微信生态的封闭性。
所以总体上来说,这么一个封闭的生态,对开发者来说并不友好。微信的小程序生态中,只适合已有App的情况下,做简单页面的中转载体。
新的美好伊甸园 - AppStore
所以,基于这些认知,我开始了对AppStore的美好憧憬,起码他是开放的生态,用户群体更大。
如果要上架AppStore,面临技术方案的重新抉择
开发模式 | 成本 | 维护性 | 扩展性 | 与微信小程序体验差异 |
---|---|---|---|---|
Native开发 | 高 | 一般 | 高 | 大 |
RN Native开发 | 一般 | 高 | 高 | 一般 |
微信小程序多端方案 | 低 | 高 | 一般 | 几乎一致 |
在综合考虑成功和收益以及后期维护性上,我最终选择了微信提供的多端方案。
只需下载最新的微信开发工具,就会有一个多端开发模式,点击即可切换为多端开发模式。切换了以后,大部分的API都已经做了兼容:
基本上可以按照多端方案的文档说明进行操作。
适配主要可以使用条件编译来区分多端场景,
// #if NATIVE
...多端
// elseif
... 小程序
// endif
这里说一些需要注意和适配的点
- 微信云托管的适配
如果有使用微信托管的朋友们,原有的 wxCloud.callContainer
方法已不能用,需要考虑使用域名调用的方式。另外,使用云托管后端可以直接取到微信的openid,在这种情况下,已经不能适用,需要考虑对用户id(登录方案)的适配。
- 微信开放平台关联
在上架之前,微信会一直提供一个临时的App 签名ID供开发和调试,如果想要上架App Store,更换App的ID是必须的,要更换AppID,需要关联微信开放平台(open.weixin.qq.com)的应用。这也是比较难受的一个点,在微信开放平台注册,需要经过开放平台的审核,而开放平台的审核又是极其严格的事情。
开放平台的审核会非常看重应用的官网介绍,当时我就想,我就一个简单的App,还要开发一个应用官网么?是的!而且不能简单糊弄,要看得过去,AppStore没有要求,微信要求了!
而这个的审核相对耗时,一次拒绝修改后,等待下一次审核就是一天。
在花了点时间,装修了下官网以后,微信开放平台才给正式通过,通过了以后,就可以做多端平台的关联了,这个时候应用才会被替换为正式的AppID
- App Developer平台和App Connect平台注册
要上架App Store, App Developer平台和App Connect平台又是必经之路。App Developer主要用来收钱,App Connect用来管理应用的上架和审核。
4.证书管理
证书分为开发证书和发布证书,开发证书可以直接在XCode里面的设置,账户里面申请到,这样就可以在真机或者模拟器上开发。
如果要提交发布,需要有发布证书,这个可以按照微信官方的指引https://dev.weixin.qq.com/docs/framework/guideline/devtools/ios-certificate.html
- 打包和发布
选择构建 - 打包ipa, 选择正式正式,分发证书,版本选择正式版,即可按照指引打包一个ipa产物。
接着通过在Mac App Store下周的Transporter应用,来交付ipa文件。ipa应用会做一些基础的检查,然后就可以上架交付了。
需要注意的是,即使Transporter提示成功,在App Connect上也未必能开到构建的版本,这个时候就要查收邮件了,看App是否给你发了需要修改的邮件。这里针对多端,会提示一些关键信息的plist缺乏描述,根据邮件提示缺少提示的plist,添加进去即可,重新打包交付。
- App Store提审
在提审之前,还要填写一堆的信息和资料,这里需要准备
-
官方网站链接
-
隐私声明和用户协议
-
屏幕预览截图
- 点击提交
点击提交之后就是静静的等待苹果的审核吧,手机上可以装一个App Connect。因为众所周知的原因,苹果的审核一般是在晚上我们睡觉的时候进行😁,一早醒来,我们就会收到苹果发来的拒绝,或者通过的消息,如果拒绝了,就根据提示做些修改,继续提交就可以了。
经过几次修改之后,鲁班智能计算器终于上架App Store了!整体上,体验几乎和微信小程序基本一致。
对于想用微信小程序来开发App的同学,这是一个不错的选择。
未来 - 曙光
无论如何,对于App讲,面向的是一个开放的用户和市场,不确定为来如何发展,至少心态上是开放了很多。
想体验的同学可以上App Store搜索 “鲁班计算器”, 同时可以在微信小程序上对比下差异,几乎做到了零代码适配迁移到App Store。
对于微信小程序转App过程中有什么问题,欢迎大家留言讨论哈~
有没有用到推送呢? 如有是怎么解决的呢
🤝巧了我最近也写了个小程序,叫【傻大妈计算器】,是基于Taro框架实现的,正在考虑是中 Taro 的跨端开发实现App,还是用微信新出的多端App🤔
哇~ 这功能不错,我之前还用小程序转uniapp 然后各平台上架呢,现在这个就更方便了