ios html5上架,iOS原生集成H5+詳細流程

iOS原生集成H5+

集成方式

獨立應用方式集成

Widget方式集成

WebView方式集成

可以打開官方鏈接: 選擇 5+SDK -> 5+SDK集成 -> 平臺 下查看集成方式

獨立應用方式: 官方Demo中的實現, 獨立的App, 感覺上和直接在HBuilder創建App相同, 可以方便證書導入這些步驟吧

Widget方式: 模塊部分的擴展使用

WebView方式: 單獨界面的擴展使用

白皮書原話: 在使用中,如果需要顯示多個H5頁面,建議使用Widget集成方式,如果只有一個H5頁面,建議使用WebView集成方式

集成過程

導入SDK相關文件

8cf2139e561c

Snip20170507_10.png

8cf2139e561c

Snip20170507_6.png

導入Pandora相關文件

8cf2139e561c

Snip20170507_13.png

8cf2139e561c

Snip20170507_14.png

修改編譯配置

配置Build Setting

搜索 Other Linker Flags , 配置下拉列表中添加-ObjC

搜索 Enable Bitcode, 配置為 NO

配置info.plist, target -> Info

添加NSAppTransportSecurity字段 -> NSAllowsArbitraryLoads為YES

URL Types -> + -> URL Schemes框配置為 * hbuilder*

寫調用SDK代碼編譯, 報錯按照錯誤提示導入庫, 直到編譯成功

/// AppDelegate

#import "PDRCore.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

/// 指定5+SDK的模式

return [PDRCore initEngineWihtOptions:launchOptions withRunMode:PDRCoreRunModeNormal];

}

- (void)applicationWillTerminate:(UIApplication *)application {

[PDRCore destoryEngine];

}

@end

#import "PDRCore.h"

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// 獨立應用方式加載

// [self start5pAsNormal];

}

/// 滿足一些條件調用

- (void)doSomething {

// Widget方式加載

// [self start5pAsWidget];

// WebView方式加載

// [self start5pAsWebView];

}

- (void)start5pAsNormal {

PDRCore *core = [PDRCore Instance];

if (!core) return;

[core setContainerView:self.view];

[core start];

}

- (void)start5pAsWidget {

PDRCore *core = [PDRCore Instance];

if (!core) return;

// 設置WebApp所在的目錄,該目錄下必須有mainfest.json

NSString* pWWWPath = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"Pandora/apps/H5Demo/www"];

// 設置5+SDK運行的View

[core setContainerView:self.view];

// 傳入參數可以在頁面中通過plus.runtime.arguments參數獲取

NSString* pArgus = @"id=plus.runtime.arguments";

// 啟動該應用

_coreApp = [[core appManager] openAppAtLocation:pWWWPath withIndexPath:@"index.html" withArgs:pArgus withDelegate:nil];

// 如果應用可能會重復打開的話建議使用restart方法

// [[core appManager] restart:_coreApp];

}

- (void)start5pAsWebView {

PDRCore *core = [PDRCore Instance];

if (!core) return;

// 單頁面集成時可以設置打開的頁面是本地文件或者是網絡路徑

NSString* pFilePath = [NSString stringWithFormat:@"file://%@/%@", [NSBundle mainBundle].bundlePath, @"Pandora/apps/H5Dome/www/index.html"];

_appFrame = [[PDRCoreAppFrame alloc] initWithName:@"WebViewID1" loadURL:pFilePath frame:CGRectOffset(self.view.frame, 0, 20)];

// 單頁面運行時設置Document目錄

NSString* pStringDocumentpath = [NSString stringWithFormat:@"%@/Pandora/apps/H5Dome/www/", [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0]];

[core.appManager.activeApp.appInfo setWwwPath:pStringDocumentpath];

[core.appManager.activeApp.appWindow registerFrame:_appFrame];

[self.view addSubview:_appFrame];

}

@end

匹配 模式(PDRCoreRunMode) 與 啟動該模式(how start) 的代碼, 否則很容易掉坑里

Demo中其他處理, AppDelegate / ViewController 都可以參照

解決Undefined symbols for architecture xxx: “xxx”, referenced from: 的錯誤提示

8cf2139e561c

屏幕快照 2017-05-06 23.14.25.png

首先使用官方文檔

8cf2139e561c

屏幕快照 2017-05-06 23.14.57.png

導入對應庫

8cf2139e561c

Snip20170506_1.png

還有無法匹配的錯誤, 自行google / baidu

實驗結果總結

獨立應用方式與Widget方式確實相似, 區別部分

/// AppDelegate中

/// 獨立應用方式: 配置為 PDRCoreRunModeNormal

/// Widget方式: 配置為 PDRCoreRunModeAppClient

[PDRCore initEngineWihtOptions:launchOptions withRunMode:PDRCoreRunMode];

/// 配置并啟動5+SDK環境

/// 獨立應用方式: 直接在啟動后的根控制器中設置即可

/// Widget方式: 在需要用啟動的位置設置即可

PDRCore *core = [PDRCore Instance];

if (!core) return;

[core setContainerView:self.view];

[core showLoadingPage]; // 展示啟動頁(讀取頁)

dispatch_async(dispatch_get_main_queue(), ^(void) {

/// 獨立應用方式: 下面倆種都可以開啟

/// Widget方式: 必須使用第二種開啟

[core start];

// [[core appManager] openAppAtLocation:[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"Pandora/apps/HelloH5/www"] withIndexPath:@"index.html" withArgs:@"id=plus.runtime.arguments" withDelegate:nil];

});

相關資源鏈接

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443145.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443145.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443145.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html自定義標記,HTML模板(自定義)標記

我知道使用自定義html標記由于各種原因是不合適的,但我想運行一個特定的情況,可能需要自定義html標記,并希望得到其他方面的信息,或者可能更好實現我的目標的方式。HTML模板(自定義)標記在我的代碼中,我有我稱之為模板…

微型計算機中celeron,微型計算機中常提及的Pentium或Celeron是指其_______

摘要:旋律的起伏,微型心靈感受體和密節奏用機的疏,心兩訓練入手同時從身方面。細分還可統模、常提討模式啟發為傳論模式、式,學生智力模式教學要目一種為主的的發展是以。微型重要組成教育部分)的實習是(。...旋律的起伏&#xff…

計算機選購知識點,筆記本選購知識點,找準自己的需求才是王道

筆記本選購知識點,找準自己的需求才是王道2019-11-07 10:23:030點贊0收藏0評論筆記本電腦是選擇應用比較廣的電腦類型,不管是什么人群都能夠使用它,它可以學習、辦公,還可以娛樂,外形小巧易攜帶,比臺式機的…

使用計算機管理文件教后反思,《管理計算機中的文件》教學反思

《管理計算機中的文件》教學反思一眨眼,新學期已經過半了。現在,寫一寫我的《管理計算機中的文件》教學反思。這是第八周方老師來我校調研的一節課。作為學校信息技術學科的新老師,方老師說要聽聽我的課,感覺我蠻淡定的。說實話&a…

jeecms導入myeclipse時web-inf下html出錯,我部署到myeclipse 出現問題

2010-3-12 13:50:53 org.apache.catalina.storeconfig.StoreLoader load信息: Find registry server-registry.xml at classpath resource2010-3-12 13:50:53 org.apache.catalina.startup.Catalina start信息: Server startup in 23485 ms2010-3-12 13:51:07 org.apache.catal…

html table vtop,PART2HTML語言.doc

PART2HTML語言PART2 HTML語言介紹學習導航:1. HTML語言的基礎知識2. HTML的常用標記3. 網頁基本元素之文本4. 網頁基本元素之多媒體5. 網頁基本元素之超鏈接6. 表格7. 框架1. 網頁設計的內功——HTML(超文本標記語言)1.1 理解什么是HTML語言HTML語言的定義&#xff…

銅仁計算機專業學校,聽說計算機專業的在本部啊 這是真的么

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓我的目標也是成為18級大神。假如你每天簽到拿4經驗,18級300000/475000天, 如果從1歲開始簽到,那100年36500天,你差不多要 活200年保持每天簽到(誰知道200年后還有沒有簽到 這玩意)&am…

金陵科技學院計算機系男女比,眼已亮瞎:719所全國高校男女比例排名

學校名稱女生比例1 中華女子學院98%2 成都師范學院83%3 四川外國語大學81%4 江蘇第二師范學院80%5 西安外國語大學79%6 重慶第二師范學院79%7 牡丹江師范學院78%8 上海外國語大學78%9 大連外國語大學78%10 沈陽醫學院77%11 北京第二外國語學院77%12 哈爾濱金融學院77%13 北京語…

計算機軟件基礎 一課本,計算機軟件基礎(-)課后習題答案.doc

文檔介紹:計算機軟件基礎(-)課后****題答案.doc第一章一、簡答題1.參考書上第五頁圖1-72.因為C語言是強類型語言,語法規定必須先定義后使用,只有先定義,系統才能為其分配存儲空間。3.參考書上第二頁二、填空題1. 算法2..C,.obj,.exe3. 提出問題,構造模型,選擇方法,編…

計算機課禁用監視器,如何設置關閉監視器硬盤系統待機項為從來不

1、待機”電源管理模式待機模式主要用于節電,該功能使你可不需重新啟動計算機就可返回工作狀態。待機模式可關閉監視器和硬盤、風扇之類設備,使整個系統處于低能耗狀態。在你重新使用計算機時,它會迅速退出待機模式,而且桌面(包括…

計算機電纜試驗電壓標準,GB/T3048.8-2007 電線電纜電性能試驗方法 第8部分:交流電壓試驗.pdf-原創力文檔...

GB/T3048的本部分規定了有關電纜及其附件沖擊電壓試驗的術語和定義、試驗設備、試樣制備、試驗程序、試驗結果及評定、注意事項和試驗記錄。犐犆犛29.060犓 13中華人 民共和 國國家 …

更改計算機硬盤名字,如何修改盤符 – 磁盤及光驅名稱錯亂,教你怎么更改回來...

一般情況下,打開“我的電腦”后,我們會看到排在前面是硬盤,緊接著的是光驅,然后是插上去的可移動磁盤或U盤。但有時我們可能會神奇地發現硬盤盤符及光盤驅動器名稱及排列錯亂了。比如正常情況下C,D,E&#…

計算機用于數據管理經歷了,管理系統中計算機應用--期中測驗答案

管理系統中計算機應用--期中測驗答案 (3頁)本資源提供全文預覽,點擊全文預覽即可全文預覽,如果喜歡文檔就下載吧,查找使用更方便哦!17.90 積分期中測驗答案期中測驗答案 一、一、單項選擇單項選擇:: 1-5 ACDCC 6-10 CA…

衡水計算機考試報名入口,2018下半年NCRE全國計算機等級考試報名通知

冀教考社〔2018〕4號河北省教育考試院關于做好2018年下半年全國計算機等級考試報名工作的通知各市(含定州、辛集市)教育考試院(招生考試辦公室),華北石油管理局招生考試辦公室:2018年下半年全國計算機等級考試(以下簡稱NCRE)將于9月份舉行。按照教育部考…

基準軟件測試原理,基準測試

基準測試是指通過設計科學的測試方法、測試工具和測試系統,實現對一類測試對象的某項性能指標進行定量的和可對比的測試。中文名基準測試外文名Benchmark Test別 名BMT特 點設計科學的測試方法基準測試測試介紹編輯語音基準測試是[1]指通過設計科學的測試方法…

戴爾服務器顯示e1810,戴爾服務器提示:?PowerEdge2950?E1810?HDD?1?Fault該如何解決?求幫助!!!...

滿意答案zxb65000212013.06.16采納率:41% 等級:12已幫助:6550人如果具有非 RAID SAS 控制器,請卸下硬盤驅動器,然后將另一個可正常工作的硬盤驅動器更換至驅動器托架的位置。 如果問題得以解決,請將硬盤…

華為服務器怎么查看系統日志,華為日志服務器

比如uninstall.log或是error.log,安全日志、系統日志、Scheler服務日志、FTP日志、WWW日志、DNS服務器日志等等,可以在客戶端—回首頁—我的—問題與答建議—提交日志里面反饋一下,通常是文本文件,它自動的就可以。PIX的配置loggi…

計算機二級的筆記,我的筆記全國計算機等級考試二級教程

《我的筆記全國計算機等級考試二級教程》由會員分享,可在線閱讀,更多相關《我的筆記全國計算機等級考試二級教程(2頁珍藏版)》請在人人文庫網上搜索。1、全國計算機等級考試二級教程MS Office高級應用歸納與總結第一章 計算機基礎知識1. 現代電子計算機之…

小米手機顯示流量數據連接到服務器,小米手機流量總不穩定,這三項設置可能你會用到...

原標題:小米手機流量總不穩定,這三項設置可能你會用到小米流量優化三板斧無限君:當我們用數據流量上網的時候,難免會碰到網速慢或不能上網的時候,有時候明明手機正常連接網絡也無法訪問,如果恰好和朋友開黑…

怎么用dos系統進入服務器,怎么進入dos_如何進入dos的方法(圖文介紹)

怎么進入dos_如何進入dos的方法(圖文介紹)發布時間:2017-04-10 10:54來源:互聯網當前欄目:電腦基礎知識怎么進入dosDOS是英文Disk Operating System的縮寫,意思是“磁盤操作系統”。它是個人計算機上的一類操作系統。從1981年直到…