? ? ? 與DCloud(以下簡稱D)平臺的交集源于15年國慶前后王带。當時為了使App能達到IOS與Android平臺兼容的效果频蛔,前后考察過APIcloud空盼,Wex5等同類型產(chǎn)品衰抑,最終從產(chǎn)品性能饼记、IDE使用香伴,以及平臺穩(wěn)定性等方面對比,選擇了D平臺具则。迄今為止即纲,共完成4個App,分別維護IOS與Android平臺兩個版本博肋,前前后后一年多,經(jīng)歷各種坑。相對時下主流開發(fā)語言以及平臺粮揉,D平臺資料相對較少织中,有問題基本都是在QQ群或官方論壇中互相交流。前段時間無意獲知兩個消息:一是朋友說D廠產(chǎn)品已經(jīng)列入了部分IT培訓機構的教學教程中病游;二是本地有家公司招開發(fā)唇跨,有D廠平臺經(jīng)驗的優(yōu)先。心里有點小欣喜衬衬。于是抽空做一總結买猖,留給同行作為借鑒。諸位IOS原生開發(fā)者請體諒一個Android程序猿的無奈與艱辛滋尉。
? ? ? 先簡單介紹下D廠及其主要產(chǎn)品
? ? ? DCloud.io玉控,數(shù)字天堂(北京)網(wǎng)絡技術有限公司。國內(nèi)HTML5產(chǎn)業(yè)的領軍企業(yè)兼砖,W3C會員奸远。面向HTML5行業(yè)分別推出了開發(fā)工具HBuilder、手機強化引擎5+ Runtime讽挟、跨平臺前端框架mui懒叛、應用發(fā)行產(chǎn)品流應用,通過系列產(chǎn)品對HTML5的強化支持耽梅,使得HTML5能達到原生的功能和體驗薛窥,同時在發(fā)行上更優(yōu)于原生應用。有跨平臺、動態(tài)诅迷、開放佩番、直達二級內(nèi)容頁面等特點。
? ? ? 本文主要針對非IOS開發(fā)者簡述下通過其IDE(Hbuilder)打包罢杉、上傳趟畏、更新Ios應用的過程以及注意事項。Android平臺的滩租,基本同Eclipse赋秀,因此不需贅述。如有問題律想,請私信猎莲。
準備工作
1. 硬件環(huán)境
Mac電腦一臺;Iphone手機一臺技即。以備調(diào)試使用著洼。
2. 軟件環(huán)境
1. IOS證書(.p12);描述文件(.mobileprovision) 各兩份而叼,分別做開發(fā)調(diào)試和正式上傳發(fā)布使用身笤。此處非本文重點,具體如何申請和生成證書請自行google葵陵,不做詳細描述展鸡。
2. IOS開發(fā)者賬號一個,個人開發(fā)者賬號每年99$埃难,需自行申請和續(xù)費莹弊。過程不做詳細描述。
打包
1. 使用開發(fā)證書涡尘,先做出開發(fā)ipa文件忍弛,在真機上做調(diào)試,確認效果考抄。尤其注意各種點擊跳轉事件是否正常细疚,聯(lián)網(wǎng)是否正常。
2. 確認效果ok后川梅,同樣的操作疯兼,換成正式發(fā)布證書,做出發(fā)布包ipa文件贫途。此文件無法直接安裝在自己的手機上吧彪,用于上傳Apple store上架認證。
上傳
1. 上傳ipa文件丢早。此過程必須在Mac上完成姨裸。目前比較方便的工具為ApplicationLoader秧倾,可自行下載最新版本安裝。直接按照提示上傳ipa文件傀缩。
注意點:
(1)上傳是一個比較耗時的操作那先,必須網(wǎng)速好(翻墻應該是最佳)。有時網(wǎng)絡不佳赡艰,我最長等待等了一晚上售淡,睡醒來發(fā)現(xiàn)還沒傳上去。
(2)一定要有耐心慷垮,最好關注下每一步的提示勋又。上傳過程中可能涉及apple store的檢測,若檢測有問題换帜,說明打的包可能不對,會有相應提示鹤啡。注意看信息惯驼。
2. 上傳ipa完畢后,登陸apple 開發(fā)者后臺递瑰。按照要求填寫app的所需內(nèi)容祟牲。
注意點:
(1)Apple要求上傳每種屏幕尺寸的截圖(必選),還可上傳演示視頻(可選)抖部。但是我們不可能每種ios設備都有并截圖说贝,在不影響功能使用和UI效果的前提下,可截取某一個尺寸的截圖慎颗。針對其他屏幕尺寸使用工具進行無損拉伸(保證圖片清晰乡恕,一定要png格式)。親測可通過認證俯萎。
推薦下本人使用的工具:PhotoZoom傲宜。可批量處理夫啊,拉伸和縮放都可保證畫質清晰函卒。
(2)如果你的App需要賬號登陸,在填寫資料時注意提供試用賬號并確逼裁校可用报嵌。有一次提交的試用賬號密碼不對,導致審核fail熊榛。
(3)Apple有一套自己的審核規(guī)范锚国,內(nèi)容挺多的,并且一直在更新玄坦。舉個例子說明:我做的購物App跷叉,最初的時候,必須先登陸,才能瀏覽其他信息云挟,導致IOS審核失敗梆砸。最后修改為未登陸時,用戶也能進來查看商品园欣,但是購買帖世、查看訂單等,一定要提示其先登陸才能使用沸枯。才通過審核日矫。強制要求,除非你申訴說明有特殊原因绑榴。
特別說明:15年年底上傳的時候哪轿,ios上架審核周期大概是7天,每次都是過了一周翔怎,告知審核fail窃诉,修改上傳,再過一周赤套,再報fail飘痛。特別折磨人。應該是在16年5月前后容握,上架審核周期已經(jīng)由原來的7天縮短到1宣脉、2天。開發(fā)者再也不需要漫長等待了剔氏。
更新
上傳應用后若需要維護塑猖,我們就要更新升級App。將代碼修改后谈跛,升級版本號萌庆,使用之前的證書,制作新開發(fā)包币旧。打包——上傳——等待審核——審核通過后自動上架践险。
注意點:
(1)使用之前的證書打包,上傳過程中一直提示證書描述文件不正確吹菱∥〕妫可能原因:文件過期(只有一年有效期)。需要重新申請鳍刷。
(2)ipa文件成功上傳占遥,但在Apple開發(fā)者后臺無法選中升級∈涔希可能原因:ipa文件的版本號雖然大于上個版本瓦胎,但內(nèi)部版本號卻小于上個版本芬萍。無法升級替換。
(3)iOS打包“doesn't support the Push Notifications capability”錯誤搔啊。此錯誤的原因是在新版本XCode編譯環(huán)境中會校驗profile文件中是否配置使用Push功能柬祠。如果應用中添加了“Push(消息推送)”模塊,比如配置了“個推”服務负芋。(HBuilder的manifest.json文件“模塊權限”->“模塊設置”中配置)漫蛔,profile文件中則必需配置添加“Push Notifications”能力。之前一直都沒出現(xiàn)過旧蛾,應該是在16年12月下旬左右才開始更新的環(huán)境莽龟。
具體解決步驟:
關于Hbuilder
該工具目前已趨于穩(wěn)定,熟悉Eclipse的開發(fā)者基本都能快速上手锨天。但在版本迭代中毯盈,或多或少都會有些問題,希望大家在使用過程中能抱有懷疑態(tài)度病袄,遇到奇怪的問題搂赋,假如再三檢查確認代碼無誤,那很有可能是官方的IDE出現(xiàn)bug了陪拘。可直接上官方論壇進行反饋纤壁,以便得到快速解決左刽。
列舉以下本人遇到的現(xiàn)象:
1. 提示刪除無用配置,慎用酌媒∏烦眨可能會導致應用無法正常打開。使用前建議仔細閱讀如下體積優(yōu)化指南秒咨。
2. 提交云打包后喇辽,無法看到進度∮晗——建議換個時間段吧菩咨,基本上是官方云打包服務器故障。第一次遇到的時候陡厘,感覺真的很神奇抽米,打Android包就沒問題,選出ios包就沒有然后了糙置≡迫祝或者堅持等半個多小時,才有了進度谤饭。最后上QQ交流群标捺,發(fā)現(xiàn)大家都在喊懊纳。
3. 默認不配置code,但是每次打包亡容,code號都會增一次嗤疯,不仔細看,根本不知道還有這個萍倡。最后更新App的時候身弊,發(fā)現(xiàn)怎么也更新不了。比如去之前的應用是V1.0(36)列敲,36是因為我總共打包了36次才生成發(fā)布版本阱佛。等到我升V1.1的時候,2此就成功了戴而。版本號就是V1.1(2)凑术。結果因為2<36,導致無法成功更新所意。
4.某個Hbuilder的版本(忘記版本號了)淮逊,打包應用后,頁面無法自動跳轉扶踊,必須手指觸屏一次泄鹏,才執(zhí)行一次跳轉。問題很奇怪秧耗。一直以為是代碼由問題备籽,后來上官方論壇查,發(fā)現(xiàn)官方回復是升級到最新HBuilder版本解決此問題——好坑分井。
關于其它
1. 之前對于跨平臺的應用開發(fā)车猬,曾經(jīng)摸索過很多種平臺。等到真正要動手做一個東西并正式上線的時候尺锚,考慮其實還是挺多的珠闰。尤其平臺的穩(wěn)定性,假如有問題后瘫辩,代碼是否可以快速移植到其他平臺伏嗜,架構是否能兼容,做出來的東西體驗怎么樣伐厌,能不能順利通過IOS審核等等阅仔。前期一定要自己考察到位,也不要人云亦云弧械。網(wǎng)上偏激的人也不少八酒,建議還是參考官方的文檔積累,Demo實例等作出判斷刃唐。
2. 每個App維護Android和IOS兩個版本羞迷,當App多了之后界轩,發(fā)現(xiàn)其實挺累的。尤其是IOS上傳衔瓮,對于我的二手Mac和網(wǎng)速簡直就是個考驗浊猾。前幾天看到微信小程序發(fā)布,瞬間感覺有希望了热鞍。如果能做出小程序葫慎,可省去相當一部分工作量。
在實踐中不斷進步薇宠,祝大家新年快樂偷办!