参考HBuilder 论坛中 iOS创建最精简离线打包工程 文档进行配置,但文档中对于Framework配置不全,这里进行配置说明
MacBook Pro: macOS Mojave 10.14
Xcode: Version 10.1 (10B61)
H5+ SDK: 2018年09月29日发布
新建项目Xcode项目这里不做说明,可以直接参考 iOS创建最精简离线打包工程 对应项目创建步骤。
iOS 10 需要在info.plist文件中添加隐私权限配置
打开Finder,进入工程目录,拷贝示例中下图所示文件替换自动生成文件
进入项目目录,在与项目目录同级下创建SDK文件夹,方便管理,并拷贝下载的H5+SDK 对应文件至SDK目录中
打开Xcode,在项目文件夹下右键选择“New Group without Folder”创建“Supporting Files”,为了方便区分文件类型,把我们创建SDK文件夹中的control.xml
、Bundles
添加到项目
可按如下图把项目其他文件也移动至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.a
、liblibPayment.a
使用Hbuilder工具,点击发布->本地打包->生成本地APP资源,进入Xcode项目目录
创建Pandora
->apps
把生成好的本地APP资源直接拷贝至apps
中,如上图
修改control.xml
文件中的appid
与appver
,保证与manifest.json
中id
和version->name
一致
完成以上所有配置,可点击运行查看效果,笔者测试成功,这里不介绍图标等信息配置,请查看 iOS创建最精简离线打包工程