HBuilder H5+ SDK 离线打包精简配置

参考HBuilder 论坛中 iOS创建最精简离线打包工程 文档进行配置,但文档中对于Framework配置不全,这里进行配置说明

统环境

MacBook Pro: macOS Mojave 10.14
Xcode: Version 10.1 (10B61)
H5+ SDK: 2018年09月29日发布

集成步骤

新建项目Xcode项目这里不做说明,可以直接参考 iOS创建最精简离线打包工程 对应项目创建步骤。

基础项目配置

  • 点击Project->TARGETS->Build Settings搜索“Other Linker Flags”,双击搜索到的项双击,在弹出框内添加想“-ObjC”

  • 点击Project->TARGETS->Build Settings搜索“ARC”,修改"Implicit retain of ‘self’ within blocks" 项的值为"NO"(来至官方示例)

  • 点击Project->TARGETS->Build Settings搜索“BitCode”,修改"Enable Bitcode" 项的值为"NO"

  • 修改info.plist文件,添加App Transport Security Settings类型为Dictionary,在该项下添加Allow Arbitrary Loads项类型为Boolean,值为YES

iOS 10 需要在info.plist文件中添加隐私权限配置

  • 设置应用显示的应用名

库文件依赖以及其他文件配置

打开Finder,进入工程目录,拷贝示例中下图所示文件替换自动生成文件

进入项目目录,在与项目目录同级下创建SDK文件夹,方便管理,并拷贝下载的H5+SDK 对应文件至SDK目录中

打开Xcode,在项目文件夹下右键选择“New Group without Folder”创建“Supporting Files”,为了方便区分文件类型,把我们创建SDK文件夹中的control.xmlBundles添加到项目

可按如下图把项目其他文件也移动至Supporting Files文件夹中

新建项目会生成main.storyboard,可以删除掉,删除文件记得点击“Move to Trash”

如果按下图所示配置编译版本(版本 < 9.0),需更改LaunchScreen.storyboard中的配置,否则出现兼容性编译报错

添加SDK文件夹inc至项目中

拖拽SDK文件夹Libs下所有库文件至项目

相同位置,点击下方加号,加入系统库

系统库
JavaScriptCore.framework
WebKit.framework
CoreTelephony.framework
MobileCoreServices.framework
SystemConfiguration.framework
MediaPlayer.framework
AudioToolbox.framework
Security.framework
QuartzCore.framework
CFNetwork.framework
Foundation.framework
CoreFoundation.framework
CoreGraphics.framework
UIKit.framework
QuickLook.framework
libxml2.tbd
libz.tbd
libsqlite3.0.tbd
libc++.tbd
ImageIO.framework
CoreText.framework
Storekit.framework

所有库文件如下图

点击Project->TARGETS->Build Settings搜索“Header Search Paths”
修改为如下图

( i n h e r i t e d ) / A p p l i c a t i o n s / X c o d e . a p p / C o n t e n t s / D e v e l o p e r / T o o l c h a i n s / X c o d e D e f a u l t . x c t o o l c h a i n / u s r / i n c l u d e " (inherited) /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include " (inherited)/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include"(SRCROOT)/…/SDK/inc"
文件夹目录与我创建一直,可复制以上内容,或者把文件夹拖拽至编辑框中

点击Project->TARGETS->Build Settings搜索“Library Search Paths”
修改为如下图

( i n h e r i t e d ) " (inherited) " (inherited)"(SRCROOT)/…/SDK/Libs"
可拖拽添加

特别说明 Libs目录下的文件在官方SDK对应Libs下拷贝,这里官方文档中提供的必须文件不全

出现以下错误,说明缺少libc++.tbd

出现以下错误,说明缺少libIAPPay.aliblibPayment.a

添加Web应用到工程

使用Hbuilder工具,点击发布->本地打包->生成本地APP资源,进入Xcode项目目录

创建Pandora->apps
把生成好的本地APP资源直接拷贝至apps中,如上图

修改control.xml文件中的appidappver,保证与manifest.jsonidversion->name一致

完成以上所有配置,可点击运行查看效果,笔者测试成功,这里不介绍图标等信息配置,请查看 iOS创建最精简离线打包工程

你可能感兴趣的:(HBuilder)