ios原生项目集成HBuilder项目

我们原生开发的应用需要集成另一个公司的一个项目进来,集成的过程中遇到不少问题,在此记录总结一下:

官方的集成方法

在官方文档上有一个SDK包,下载之后用里面的demo来学习和使用它的集成方法,采用的webapp的集成方式,

这个文档需要好好看一下,用的是HBuiler-Integrate这个demo,

问题1:manifest.JSON文件中有注释

别人把项目给我们的时候,这个文件里是有注释的,还有很多字段是我们不需要的,对这个文件需要做一些删减,直接运行控制台会报错输出:manifest.JSON解析失败请确保格式正确并不能包含注释

这个文件错误首页仍然可以加载出来,但是会有显示错误,内容加载不出来等等。所以首先要确保这个文件正确,

问题2:热更新问题

hbuilder可以热更新,原生集成的时候需要自己处理一些问题,App资源在线升级更新这里面有个测试升级的demo,可以拿来用

第一次运行报错:安装wgt文件失败:html5+RUntime缺少升级包manifest.json中配置的模块:******

这个缺少了所有的模块,而不是缺少某几个模块,就是路径不对的原因,我再看了文档之后发现就是项目里的目录必须和manifest.json中的id字段一致



改完这个之后不报错了,但是更新不了,更新完显示的还是1.0版本,没变成2.0版本,我们导出手机的沙盒,就会发现更新文件存放的路径,sdk的头文件中有描述,hbuilder所有的文件都有默认的存放路径,这个demo中资源的查找路径和更新的资源存放路径不同,所以更新一直失败,这个时候需要把路径给调一致了才行。

插入以下代码(具体路径按需要调整):

NSString* pWWWPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Pandora/apps/H5EF3C469/www"];

NSString* pWWWPath1 = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"Pandora/apps/H5EF3C469/www"];

NSString *s11 = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Pandora/apps/H5EF3C469/www/index.html"];

if ([[NSFileManager defaultManager] fileExistsAtPath:s11])

{

NSString *s1 = @"account=00005566&token=asfgabfdbf";

//        NSDictionary *d = @{@"accont":@"00005566",@"token":@"asfgabfdbf"};

// 启动该应用

pAppHandle = [[[PDRCore Instance] appManager] openAppAtLocation:pWWWPath withIndexPath:@"index.html" withArgs:s1 withDelegate:nil];

[[[PDRCore Instance] appManager] restart:pAppHandle];

}

else

{

dispatch_async(dispatch_get_global_queue(0, 0), ^{

[[NSFileManager defaultManager] createDirectoryAtPath:pWWWPath withIntermediateDirectories:YES attributes:nil error:nil];

[self copyFileFromPath:pWWWPath1 toPath:pWWWPath];

dispatch_async(dispatch_get_main_queue(), ^{

//回调或者说是通知主线程刷新,

NSString *s1 = @"account=00005566&token=asfgabfdbf";

//                NSDictionary *d = @{@"accont":@"00005566",@"token":@"asfgabfdbf"};

// 启动该应用

pAppHandle = [[[PDRCore Instance] appManager] openAppAtLocation:pWWWPath withIndexPath:@"index.html" withArgs:s1 withDelegate:nil];

[[[PDRCore Instance] appManager] restart:pAppHandle];

});

});

}

这个代码把项目里的文件复制到沙盒中(如果hbuilder的初始代码要修改的话,需要卸载掉重装,要不效果不会更新的,因为沙盒里复制过,直接执行沙盒中的文件了),文档的存放路径可以自己指定,我就采用的SDK里默认的路径,这个我们的集成还没完全完成,有问题再记录。

https://github.com/lllkkkggg/HBuilderDemo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,036评论 29 470
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 1,982评论 0 12
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,204评论 0 6
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 1,286评论 0 5
  • 27、ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是...
    烟雨平生花飞舞阅读 517评论 0 1