最近一段時(shí)間,做了很多關(guān)于dcloud的事情??傮w的感受就是自己o(╥﹏╥)o了,遇到各種各樣的坑?。?!下邊來(lái)總結(jié)一下自己的坑,給自己及后來(lái)者個(gè)提醒。
第一個(gè)坑:
xcode(9.3)集成dcloud環(huán)境的時(shí)候,由于官方Demo版本太low,里面的很多東西都是MRC(手動(dòng)內(nèi)存管理),所以集成你的環(huán)境之后,會(huì)報(bào)很多無(wú)語(yǔ)的錯(cuò)誤。(例:本來(lái)數(shù)組對(duì)象,卻崩到數(shù)組變成CALyer)只需要在buildseting中將下圖屬性改為YES。當(dāng)然,你也可以使用MRC模式,但是所填加的.m都需要手動(dòng)釋放內(nèi)存。有的第三方庫(kù)文件是ARC模式需要你在(圖二)位置加上-fobjc-arc。


第二個(gè)坑:
cocoapods導(dǎo)入第三庫(kù)后(例如:AFNetworking),運(yùn)行的話,總是提示找不到鏈接文件。我先說(shuō)說(shuō)自己的錯(cuò)誤思路吧。一開(kāi)始的時(shí)候,以為dcloud里面生成的靜態(tài)庫(kù).a或者動(dòng)態(tài)庫(kù).framework里面有加入AFNetworking。于是,我自己查看了一下liblibPDRCore.a(終端nm可以打開(kāi)看里面的實(shí)現(xiàn)方法),里面確實(shí)有關(guān)于AF的代碼,如圖三。問(wèn)了官方人員,他也說(shuō)是有用到AFNetworking的代碼,他讓我把聲明文件導(dǎo)入,不導(dǎo)入實(shí)現(xiàn)文件。是可以解決問(wèn)題,但是pod 其他的第三方庫(kù)還是會(huì)報(bào)linker錯(cuò)誤。所以,問(wèn)題在于不是人家dcloud的環(huán)境問(wèn)題,而是我自己工程配置的問(wèn)題。

后來(lái),對(duì)比現(xiàn)有完整工程的配置,發(fā)現(xiàn)缺少$(inherited)這個(gè)東西,我也不是特別懂這個(gè)是啥意思。https://www.crifan.com/xcode_inherited_meaning/ 看這個(gè)鏈接吧。加上這個(gè)后,程序運(yùn)行就沒(méi)問(wèn)題了。

第三個(gè)坑:在制作差量升級(jí)包(wgtu)的時(shí)候,壓縮成wgtu包的時(shí)候是把www和update.xml放在WGTU這個(gè)文件夾里,再壓縮WGTU,這樣子是不行的,正確的方式是選中www和update.xml把他們一起壓縮成一個(gè)文件,而不是放到一個(gè)文件夾里壓縮文件夾。(此處感謝dcloud上的木子喵--鏈接http://ask.dcloud.net.cn/question/11321)。
注:一些關(guān)于dcloud的鏈接
http://ask.dcloud.net.cn/article/182
http://ask.dcloud.net.cn/question/50665 ? ? ?ios 原生開(kāi)發(fā)和5+的界面交互
http://www.html5plus.org/doc/zh_cn/xhr.html?這個(gè)是NJS 的庫(kù)
http://ask.dcloud.net.cn/question/26670 ? 返回的問(wèn)題
http://ask.dcloud.net.cn/article/102 ?側(cè)滑返回問(wèn)題
https://github.com/jinle/gen-wgtu ?制作差量升級(jí)包插件
http://m.itdecent.cn/p/90d5fa728861 ?MAC搭建服務(wù)器環(huán)境