1号房
1号房
  • 发布:2015-04-29 15:29
  • 更新:2020-07-01 12:04
  • 阅读:16114

IOS离线打包的那些梗,搞定了真高兴!

分类:5+ SDK

这几天要发布新版本,打开Hbuilder准备在线打包,然后上次发布的悲剧重演,试过所有的p12证书之后,还是报错。
于是拿脑袋砸墙5分钟--------疼!
想起来前几天好不容易下到的xcode6.3(之前测试过离线,demo怎么跑都跑不出来,后来找个高手才发现,我的xcode是4.2的,离线打包必须要xcode 5.0,然后下了起码10个xcode的img,才找到个好用的),不如离线打包吧!
就这么愉快的决定了,于是就有了下面的各种梗:

> 我的操作步骤是这样的:
1.下载最新的官方包 HTML 5+ SDK 更新日志

  1. 拷贝官方的项目出来
  2. 按照官方的要求修改必要的参数 (附官方的说明:iOS离线打包秘籍
  3. 联真机测试 (我的以前弄的,请百度之)
  4. 打包测试 (菜单位置Product->Archive)
  5. 提交审核

1.manifest.json的各种错误

一定要检查json的格式是否正确,我碰到的情况是用apple自己带的编辑器(不是xcode)编辑了之后,居然json就破了
这是xcode报错的内容截图没保留,大概的内容是有关键字(jsonvalue)的,要是你碰到这个问题,请检查manifest.json。
必须要对的地方如下图:

要是你改错了,哪怕是各双引号,那就是这样的:


友情提示:
1.拷贝demo里的过来用,再改改,因为云端打包需要的参数都在里面,但离线打包的时候是不需要的

  1. 直接用xcode改,防止编码问题,双引号一直不对的话,请用ctrl+C和ctrl+V
  2. 网上有json检查工具,看填写的是否完整
    4.要是你的入口文件不是index.html,请别忘记修改哦

2. xcode闪退(这个奇葩问题请翻到最后)

真是奇葩~
真是奇葩~~
真是奇葩~~~
真是奇葩~~~~
真是奇葩~

3. input点选出来的是英文菜单

想象中的菜单是这样的:


现实是这样的:

解决的办法是这样的:
需要添加一行对中文的支持,就是图中用红框框出来的部分

4. 头部的样式设置错误

想象中的样子是这样的:

现实是这样的:

解决的办法是这样的:
需要添加一行,就是图中用红框框出来的部分,注意选成no
官方的状态栏设置的介绍navigator用于管理浏览器运行环境信息

5. 精简文件大小

好不容易Archive过了,才发现文件真大啊,居然又30多MB
就不停的去除库,对IOS的开发不了解,我看着不爽就删除,不敢瞎说,只知道库还是很大的

6. 64位支持

看到这个界面的时候我好高兴啊,但是苹果叔叔却不停的跳提示


解决的办法是这样的,看到红框的部分了嘛?改成no就行了

7. PUSH的问题

这个问题,是在一路绿灯之后,好高兴啊,去developer center写新版本特点了,然后...


苹果给我发了一封邮件,内容如下:

于是又开始了一路的排除bug
解决的办法是把这部分的代码注释掉

百度地图的部分也可以注释掉(要是你没用到的话)

-----------------------------奇葩故事分隔线-----------------------------

终于到最后的了,我们讲讲奇葩的故事

事情发生在1号房APP真机调试正常之后,当时的状况如下:

1号房APP:真机运行正常,打包时候xcode闪退
Hello5Demo:真机运行正常,打包正常
新建空项目:真机运行正常,打包正常

先是修改xcode里的参数无数,一点结果也没有,xcode一如既往的闪退,我那个胸闷啊。
不过大神就是大神,很淡定的说:“我们再找个人问问”,于是又出现一位美女大神,也很淡定,发布APP无数,看了几个参数之后,淡淡的说:“把你写的东西都删了~~”
当时,我说就听到这话的当时,我的下巴掉下来了,心里默念“那我不都白写了,我的青春啊~~”
“再把你写的一部分一部分的加进去~~”
好吧,我承认淡定有时候要人命啊!

接下来就是纯体力的活动:
开始清空Pandora/apps/yihaofang/www/目录下的所有文件
打包正常....
加入根目录下的独立文件
打包正常....
加入css目录
打包正常....
加入js目录
打包正常....
加入img目录
打包正常....
加入html目录
xcode闪退!

原因找到了,但是,但是这个目录没法用话,我的APP还是白写了
继续革命啊
清空html目录
xcode闪退!

到这里的时候,我看到大神们也露出了惊讶的表情,难道一个目录的名称会导致xcode闪退!
大神冷静了一下说:“改各文件夹名看看”
改目录名为htmla
打包正常....
在htmla中加入所有文件
打包正常....

幸福的泪花在我眼眶中打转(请原谅我的文艺青年本质),这就行啦?!
于是我作出了一个重要的决定
把htmla改成html
打包正常....

这就是这朵奇葩,详细原因不知道,只知道是奇葩~~
-----------------------------奇葩故事分隔线-----------------------------

其他会遇到的问题
各种证书的问题,因为之前发布过一次,这次发布就没有这么多的问题,隐约记得当时也是鸡毛一地
重点看下面这篇文章,仔细操作就能过
iOS证书(.p12)和描述文件(.mobileprovision)申请

最后,特别感谢几位朋友,排名不分先后
Hbuiler:有了这么方便的工具,web工程师转做APP也是妥妥的
两位大神:没有你们,也许很久之后1号房才能上线
Hbuilder热心回答我问题的 DCloud-App-Array(colour), DCloud_iOS_XTY(我)

24 关注 分享
半杯可乐 小手真黑 DCloud_IOS_XTY 多串君 大海图图 匿名 木子喵 豆花饭 印林泉 adas 小岳岳 江户川林柯南 晴天05 freedemon jwenlee 448993299 hxqs f***@126.com __raymond 聪 typer 9***@qq.com 1***@qq.com 外星人都夸我

要回复文章请先登录注册

外星人都夸我

外星人都夸我

非常感谢楼主,PUSH那个问题困扰了我好久,每次发布上架都会收到邮件,但是却没任何推送消息的内容打包在项目里。
2020-07-01 12:04
1***@qq.com

1***@qq.com

没有看到收藏按钮,先mark一下,谢谢楼主了~~
2019-12-24 11:21
1***@qq.com

1***@qq.com

顶一下,最近也在搞iOS
2019-10-30 12:51
逞英雄

逞英雄

回复 c***@163.com :
同问 想通过新建项目的方式 离线打包 android有教程的 ios没有
2019-08-06 16:48
1***@qq.com

1***@qq.com

好文,mark一下
2019-05-31 15:09
456vv

456vv

你奇葩故事的原因是:xcode 文件同步不及时,mac 目录刷新不及时。苹果系统是最高级的,欢迎继续使用....
2017-10-26 23:01
简符

简符

Windows上架ios app文档http://ask.dcloud.net.cn/article/1290
2017-04-06 15:16
c***@163.com

c***@163.com

我想问一下怎么精简打包,官网的太扯了,也不说明写清楚点
2017-03-20 14:55
1***@qq.com

1***@qq.com

mark
2017-03-08 20:14
448993299

448993299

多谢这位大神的分享。不过我的也出现英文提示的问题: 是否接受推送消息,是个英文提示,但我是XCODE 8.1,找不到文章中localization选项,请问怎么办?
2016-10-10 12:59