预备环境
- iOS开发环境,Mac OS、XCode 7.2以上版本;
- 下载HBuilder离线打包iOS版SDK(5+ SDK下载)。
SDK目录说明
- HBuilder-Hello:离线打包演示应用;
- Feature-iOS.xls:iOS平台各扩展Feature API对应的库文件列表;
- Readme.txt:版本说明文件。
注意:HBuilder运行环境相关库文件已全部包含在HBuilder-Hello演示应用中
配置编译工程
- 从演示应用HBuilder-Hello创建工程
解压SDK包,将演示应用HBuilder-Hello拷贝出来(可对目录进行重命名),进入目录,双击“HBuilder-Hello.xcodeproj”文件打开工程:
- 配置应用标识(Boundle Identifier)
选择左侧“Project Navigator”中应用工程根目录,选中TARGETS下的HBuilder打开工程属性界面,在General下修改Identity的值:
其中Bundle
Identifier为苹果的AppID,必须与应用发布是配置的Profile关联的AppID一致;Version为应用版本号,在App
Store中显示的版本号,推荐与manifest.json中version下的name值一致;Build为编译版本号,App
Store判断升级使用,推荐与manifest.json中version下的code值一致。
- 配置应用名称
在工程属性界面,切换到Info项下修改Bundle display name的值:
- 配置应用图标和启动界面
演示工程中已经配置好应用的图标和启动界面,只需要将对应图片按照指定的分辨率拷贝到对应工程下的icon和splash目录即可:
- 更新应用资源
注意:Pandora目录为folder references引入方式,修改后不会自动更新,需要在模拟器或设备删除应用后再重新运行
注意:拷贝到Pandora目录的www目录中manifest.json需要删除注释
打开pandora -> apps 目录,将下面“HelloH5”目录名称修改为应用manifest.json中的id名称(这步非常重要,否则会导致应用无法正常启动),并将所有应用资源拷贝到其下的www目录中:
- 配置应用信息
打开工程目录下的control.xml文件,修改appid值:
其中appid值为HBuilder应用的appid,必须与应用manifest.json中的id值完全一致;appver为应用的版本号,用于应用
资源的升级,必须保持与manifest.json中的version ->
name值完全一致;version值为应用基座版本号(plus.runtime.innerVersion返回的值),不要随意修改。
- 配置应用使用的5+功能模块(可选)
演示应用中已经引用HBuilder所有扩展的5+ API功能模块,如果在应用中没有使用到,为了减少发布时安装包的大小可以删除不使用的模块。在工程属性界面“Build Settings”下的“Linking”中找到“Other Linker Flags”:
双击弹出值列表:
在“Feature-iOS.xls”文件中查找不使用模块对应的“LinkerFlags”,从列表中删除。
如不使用“百度地图”,则可选中“-llibMap”、“-lbmapimp”、“-lbaidumapapi”,通过列表左下角的减号删除:
- 配置第三方库的参数
如果用到使用第三方库的功能模块(如推送、分享、语音识别、统计),则需要通过“Feature-iOS.xls”文件中查找对应模块的“Info”值,并在工程属性界面“Info”下“Custom iOS Target Properties”中找到对应的项配置:
如百度地图,需要配置在百度云平台申请应用的appkey,找到“baidu”项下的“appkey”,双击后输入正确的appkey值:
注意:新浪微博和微信分享还需要配置应用的URL Schemes,在“URL Types”项下分别输入在各开放平台申请的值:
配置完成编译运行
应用配置完毕,在模拟器上编译运行应用:
正确编译后启动模拟器并运行:
Android平台请参考Android离线打包