参考HBuilder 论坛中 iOS建立最精简离线打包工程 文档进行配置,但文档中对于Framework配置不全,这里进行配置说明html
统环境
MacBook Pro: macOS Mojave 10.14
Xcode: Version 10.1 (10B61)
H5+ SDK: 2018年09月29日发布c++
集成步骤
新建项目Xcode项目这里不作说明,能够直接参考 iOS建立最精简离线打包工程 对应项目建立步骤。web
基础项目配置
点击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
设置应用显示的应用名
库文件依赖以及其余文件配置
打开Finder,进入工程目录,拷贝示例中下图所示文件替换自动生成文件json
进入项目目录,在与项目目录同级下建立SDK文件夹,方便管理,并拷贝下载的H5+SDK 对应文件至SDK目录中app
打开Xcode,在项目文件夹下右键选择“New Group without Folder”建立“Supporting Files”,为了方便区分文件类型,把咱们建立SDK文件夹中的control.xml、Bundles添加到项目svg
可按以下图把项目其余文件也移动至Supporting Files文件夹中工具
新建项目会生成main.storyboard,能够删除掉,删除文件记得点击“Move to Trash”测试
若是按下图所示配置编译版本(版本 < 9.0),需更改LaunchScreen.storyboard中的配置,不然出现兼容性编译报错ui
添加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.a、liblibPayment.a
添加Web应用到工程
使用Hbuilder工具,点击发布->本地打包->生成本地APP资源,进入Xcode项目目录
建立Pandora->apps
把生成好的本地APP资源直接拷贝至apps中,如上图
修改control.xml文件中的appid与appver,保证与manifest.json中id和version->name一致
完成以上全部配置,可点击运行查看效果,笔者测试成功,这里不介绍图标等信息配置,请查看 iOS建立最精简离线打包工程