本篇采用webView集成方式.
先下载ios平台5+sdk:5+SDK官方下载地址.
1.集成sdk前要知道:在工程中引入HTML5+ SDK扩展功能的.a文件,开发者可以根据需求添加不同的扩展插件。必须要引入的是liblibPDRCore.a 和libcoreSupport.a,liblibPDRCore.a库是HTML5+SDK运行的基础库文件,libcoreSupport文件是PDRCore依赖的文件。
在引入lib文件将SDK/libs目录下的静态库文件拖入到Xcode工程里即可
注意开发者在使用示例工程时建议不要把工程从SDK目录里挪出来,如果要移动工程可以通过修改library search path ,framework search path 和head search path来解决报错。
设置静态库搜索路径,在工程的target->Build Settings->Library Search Paths,双击打开下拉列表,鼠标左键按住静态库所在目录,拖到下拉列表内即可.
设置Enable BitCode 在工程里 target->Build Settings- 搜索框中输入 Bitcode 将Enable Bitcode 设置为 NO.
在Info.plist中添加App Transport Security Settings类型Dictionary。
在App Transport Security Settings下添加Allow Arbitrary Loads类型Boolean,值设为YES
2.在集成5+SDK时必须在Other link flags 里添加 -ObjC.
3.引入如下几个库文件(这些静态库在Libs中),拉进工程中,选择creat groups.
liblibUI.a
liblibPDRCore.a
libcoreSupport.a
liblibNavigator.a
4.工程中引入HTML5+ SDK 中提供的头文件。
头文件在目录 IOS-SDK/SDK/Inc目录下
5.工程中必须要引入的系统库
点击TARGETS->General->Linked Frameworks and Librarys 添加工程依赖的库文件
(下面少写了一个 webKit)
6.还需要在Bundles文件夹中把PandoraApi.bundle加入到工程中(官方文档就没用提到这个,比较坑)
7.把本地html资源包拉进工程,选择Create folder references.
8.粘贴代码,启动5+运行环境
、、、
object - c
//启动5+运行环境
PDRCore* pCoreHandle = [PDRCore Instance];
if (pCoreHandle != nil)
{ // 单页面集成时可以设置打开的页面是本地文件或者是网络路径
NSString* pFilePath = [NSString stringWithFormat:@"file://%@/%@", [NSBundle mainBundle].bundlePath, @"***工程里html资源包的名字***/index.html"];
// 如果路径中包含中文,或Xcode工程的targets名为中文则需要对路径进行编码
//NSString* pFilePath = (NSString *)CFURLCreateStringByAddingPercentEscapes( kCFAllocatorDefault, (CFStringRef)pTempString, NULL, NULL, kCFStringEncodingUTF8 );
CGRect StRect = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
appFrame = [[PDRCoreAppFrame alloc] initWithName:@"WebViewID1" loadURL:pFilePath frame:StRect];
// 单页面运行时设置Document目录
// NSString* pStringDocumentpath = [NSString stringWithFormat:@"%@/Pandora/apps/www.zy.booya2shishi/www/", [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0]];
// [pCoreHandle.appManager.activeApp.appInfo setWwwPath:pStringDocumentpath];
[pCoreHandle.appManager.activeApp.appWindow registerFrame:appFrame];
[self.view addSubview:appFrame];
}
、、、
网友评论