iOS中使用WKWebView加載本地h5小游戲資源的做法

前言:由于我現(xiàn)在做的工作就是每天寫游戲SDK,混淆代碼目代,想各種辦法將H5游戲上架到App Store上塔橡,由于蘋果審核特別嚴(yán)佳镜,所以我們得想辦法繞開蘋果的審核裆馒。我們就使用WKWebView加載H5小游戲姊氓,通過將H5小游戲打包成資源放到本地進行加載的方式讓蘋果審核。廢話不多說喷好,接下來看代碼實現(xiàn):

  • 首先我們要搭建一個第三方本地服務(wù)器翔横,具體要使用到的第三方,在pod中如下引入:
pod 'CocoaHTTPServer', '~> 2.3'
pod 'SSZipArchive'
image.png

代碼具體實現(xiàn)

  • AppDelegate中didFinishLaunchingWithOptions 方法中調(diào)用 setupLocalHttpServer,我們首先要導(dǎo)入 #import <HTTPServer.h>, #import <SSZipArchive.h> ,定義兩個屬性:
@property (nonatomic, strong) HTTPServer *localHttpServer;
@property (nonatomic, copy) NSString *port;
- (void)setupLocalHttpServer{
    _localHttpServer = [[HTTPServer alloc] init];
    [_localHttpServer setType:@"_http.tcp"];
    NSFileManager *fileManager = [[NSFileManager alloc] init];
   // 獲取zip文件的路徑
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"tiaotiaoxiaoemo" ofType:@"zip"];
    // zip解壓縮后的路徑
    NSString *webPath = [self uSSZipArchiveWithFilePath:filePath];

    if (![fileManager fileExistsAtPath:webPath]){
        NSLog(@"File path error!");
    }else{
        NSString *webLocalPath = webPath;
        [_localHttpServer setDocumentRoot:webLocalPath];
        [self hjss_startServer];
    }
}
- (void)hjss_startServer
{
    NSError *error;
    if([_localHttpServer start:&error]){
        self.port = [NSString stringWithFormat:@"%d",[_localHttpServer listeningPort]];
        NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];
        [accountDefaults setObject:self.port forKey:@"webPort"];
        [accountDefaults synchronize];
    }
    else{
    }
}

-(NSString *)uSSZipArchiveWithFilePath:(NSString *)path
{
    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
    NSString *destinationPath =[cachesPath stringByAppendingPathComponent:@"SSZipArchive"];

    BOOL isSuccess = [SSZipArchive unzipFileAtPath:path toDestination:destinationPath];

    if (isSuccess) {
        NSString *path = [self obtainZipSubsetWithFilePath:destinationPath];
        return path;
    }
    return @"";
}

- (NSString *)obtainZipSubsetWithFilePath:(NSString *)path
{
    NSString *destinationPath = [path stringByAppendingPathComponent:@"tiaotiaoxiaoemo"];
    return destinationPath;
}
  • 在你要加載H5游戲的控制器中无切,首先定義一個webView的屬性:在viewDidLoad里面調(diào)用gotoStartGame
- (void)gotoStartGame {
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSURL *pathStr = [NSURL URLWithString:[NSString stringWithFormat:@"http://localhost:%@", [userDefaults objectForKey:@"webPort"]]];
    NSURLRequest *request = [NSURLRequest requestWithURL:pathStr];
    [self.webView loadRequest:request];
}

這樣就可以通過webView將H5游戲的資源打包到本地進行加載了荡短!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市哆键,隨后出現(xiàn)的幾起案子肢预,更是在濱河造成了極大的恐慌,老刑警劉巖洼哎,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沼本,居然都是意外死亡噩峦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門抽兆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來识补,“玉大人,你說我怎么就攤上這事辫红∑就浚” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵贴妻,是天一觀的道長切油。 經(jīng)常有香客問我,道長名惩,這世上最難降的妖魔是什么澎胡? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上攻谁,老公的妹妹穿的比我還像新娘稚伍。我一直安慰自己,他們只是感情好戚宦,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布个曙。 她就那樣靜靜地躺著,像睡著了一般受楼。 火紅的嫁衣襯著肌膚如雪垦搬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天那槽,我揣著相機與錄音悼沿,去河邊找鬼。 笑死骚灸,一個胖子當(dāng)著我的面吹牛糟趾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甚牲,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼义郑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了丈钙?” 一聲冷哼從身側(cè)響起非驮,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎雏赦,沒想到半個月后劫笙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡星岗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年填大,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俏橘。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡允华,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出寥掐,到底是詐尸還是另有隱情靴寂,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布召耘,位于F島的核電站百炬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怎茫。R本人自食惡果不足惜收壕,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一妓灌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜜宪,春花似錦虫埂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至澳窑,卻和暖如春斧散,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摊聋。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工鸡捐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人麻裁。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓箍镜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親煎源。 傳聞我的和親對象是個殘疾皇子色迂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348