DCloud平台开发IOS应用经验总结

与DCloud(以下简称D)平台的交集源于15年国庆前后。当时为了使App能达到IOS与Android平台兼容的效果,前后考察过APIcloud,Wex5等同类型产品,最终从产品性能、IDE使用,以及平台稳定性等方面对比,选择了D平台。迄今为止,共完成4个App,分别维护IOS与Android平台两个版本,前前后后一年多,经历各种坑。相对时下主流开发语言以及平台,D平台资料相对较少,有问题基本都是在QQ群或官方论坛中互相交流。前段时间无意获知两个消息:一是朋友说D厂产品已经列入了部分IT培训机构的教学教程中;二是本地有家公司招开发,有D厂平台经验的优先。心里有点小欣喜。于是抽空做一总结,留给同行作为借鉴。诸位IOS原生开发者请体谅一个Android程序猿的无奈与艰辛。

先简单介绍下D厂及其主要产品

DCloud.io,数字天堂(北京)网络技术有限公司。国内HTML5产业的领军企业,W3C会员。面向HTML5行业分别推出了开发工具HBuilder、手机强化引擎5+ Runtime、跨平台前端框架mui、应用发行产品流应用,通过系列产品对HTML5的强化支持,使得HTML5能达到原生的功能和体验,同时在发行上更优于原生应用。有跨平台、动态、开放、直达二级内容页面等特点。


本文主要针对非IOS开发者简述下通过其IDE(Hbuilder)打包、上传、更新Ios应用的过程以及注意事项。Android平台的,基本同Eclipse,因此不需赘述。如有问题,请私信。

准备工作

1. 硬件环境

Mac电脑一台;Iphone手机一台。以备调试使用。

2. 软件环境

1. IOS证书(.p12);描述文件(.mobileprovision) 各两份,分别做开发调试和正式上传发布使用。此处非本文重点,具体如何申请和生成证书请自行google,不做详细描述。

2. IOS开发者账号一个,个人开发者账号每年99$,需自行申请和续费。过程不做详细描述。

打包

1. 使用开发证书,先做出开发ipa文件,在真机上做调试,确认效果。尤其注意各种点击跳转事件是否正常,联网是否正常。

2. 确认效果ok后,同样的操作,换成正式发布证书,做出发布包ipa文件。此文件无法直接安装在自己的手机上,用于上传Apple store上架认证。

上传

1. 上传ipa文件。此过程必须在Mac上完成。目前比较方便的工具为ApplicationLoader,可自行下载最新版本安装。直接按照提示上传ipa文件。

注意点:

(1)上传是一个比较耗时的操作,必须网速好(翻墙应该是最佳)。有时网络不佳,我最长等待等了一晚上,睡醒来发现还没传上去。

(2)一定要有耐心,最好关注下每一步的提示。上传过程中可能涉及apple store的检测,若检测有问题,说明打的包可能不对,会有相应提示。注意看信息。

2. 上传ipa完毕后,登陆apple 开发者后台。按照要求填写app的所需内容。

注意点:

(1)Apple要求上传每种屏幕尺寸的截图(必选),还可上传演示视频(可选)。但是我们不可能每种ios设备都有并截图,在不影响功能使用和UI效果的前提下,可截取某一个尺寸的截图。针对其他屏幕尺寸使用工具进行无损拉伸(保证图片清晰,一定要png格式)。亲测可通过认证。

推荐下本人使用的工具:PhotoZoom。可批量处理,拉伸和缩放都可保证画质清晰。

(2)如果你的App需要账号登陆,在填写资料时注意提供试用账号并确保可用。有一次提交的试用账号密码不对,导致审核fail。

(3)Apple有一套自己的审核规范,内容挺多的,并且一直在更新。举个例子说明:我做的购物App,最初的时候,必须先登陆,才能浏览其他信息,导致IOS审核失败。最后修改为未登陆时,用户也能进来查看商品,但是购买、查看订单等,一定要提示其先登陆才能使用。才通过审核。强制要求,除非你申诉说明有特殊原因。

特别说明:15年年底上传的时候,ios上架审核周期大概是7天,每次都是过了一周,告知审核fail,修改上传,再过一周,再报fail。特别折磨人。应该是在16年5月前后,上架审核周期已经由原来的7天缩短到1、2天。开发者再也不需要漫长等待了。

更新

上传应用后若需要维护,我们就要更新升级App。将代码修改后,升级版本号,使用之前的证书,制作新开发包。打包——上传——等待审核——审核通过后自动上架。

注意点:

(1)使用之前的证书打包,上传过程中一直提示证书描述文件不正确。可能原因:文件过期(只有一年有效期)。需要重新申请。

(2)ipa文件成功上传,但在Apple开发者后台无法选中升级。可能原因:ipa文件的版本号虽然大于上个版本,但内部版本号却小于上个版本。无法升级替换。

(3)iOS打包“doesn't support the Push Notifications capability”错误。此错误的原因是在新版本XCode编译环境中会校验profile文件中是否配置使用Push功能。如果应用中添加了“Push(消息推送)”模块,比如配置了“个推”服务。(HBuilder的manifest.json文件“模块权限”->“模块设置”中配置),profile文件中则必需配置添加“Push Notifications”能力。之前一直都没出现过,应该是在16年12月下旬左右才开始更新的环境。

具体解决步骤:


关于Hbuilder

该工具目前已趋于稳定,熟悉Eclipse的开发者基本都能快速上手。但在版本迭代中,或多或少都会有些问题,希望大家在使用过程中能抱有怀疑态度,遇到奇怪的问题,假如再三检查确认代码无误,那很有可能是官方的IDE出现bug了。可直接上官方论坛进行反馈,以便得到快速解决。

列举以下本人遇到的现象:

1. 提示删除无用配置,慎用。可能会导致应用无法正常打开。使用前建议仔细阅读如下体积优化指南。

2. 提交云打包后,无法看到进度。——建议换个时间段吧,基本上是官方云打包服务器故障。第一次遇到的时候,感觉真的很神奇,打Android包就没问题,选出ios包就没有然后了。或者坚持等半个多小时,才有了进度。最后上QQ交流群,发现大家都在喊。

3. 默认不配置code,但是每次打包,code号都会增一次,不仔细看,根本不知道还有这个。最后更新App的时候,发现怎么也更新不了。比如去之前的应用是V1.0(36),36是因为我总共打包了36次才生成发布版本。等到我升V1.1的时候,2此就成功了。版本号就是V1.1(2)。结果因为2<36,导致无法成功更新。

4.某个Hbuilder的版本(忘记版本号了),打包应用后,页面无法自动跳转,必须手指触屏一次,才执行一次跳转。问题很奇怪。一直以为是代码由问题,后来上官方论坛查,发现官方回复是升级到最新HBuilder版本解决此问题——好坑。


关于其它

1. 之前对于跨平台的应用开发,曾经摸索过很多种平台。等到真正要动手做一个东西并正式上线的时候,考虑其实还是挺多的。尤其平台的稳定性,假如有问题后,代码是否可以快速移植到其他平台,架构是否能兼容,做出来的东西体验怎么样,能不能顺利通过IOS审核等等。前期一定要自己考察到位,也不要人云亦云。网上偏激的人也不少,建议还是参考官方的文档积累,Demo实例等作出判断。

2. 每个App维护Android和IOS两个版本,当App多了之后,发现其实挺累的。尤其是IOS上传,对于我的二手Mac和网速简直就是个考验。前几天看到微信小程序发布,瞬间感觉有希望了。如果能做出小程序,可省去相当一部分工作量。


在实践中不断进步,祝大家新年快乐!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿部春光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值