egret 发布ios记录

匿名 (未验证) 提交于 2019-12-03 00:15:02

根据官方文档http://developer.egret.com/cn/github/egret-docs/Native/native/hybrid/hybrid/index.html

将现有的项目发布成Hybird。

发布成功之后,使用xcode打开xcworkspace工程。

然后点击运行按钮。成功调用启动了iphone模拟器,但是内容确实一片空白,即手机模拟器屏幕上显示的是一片空白。

到这里为止,我再次回到官方文档查看。

逐个排查工程模版。

1.默认工程是从本地启动游戏。

1.1 启动流程

    1.1.1初始化EgretWebViewLib;

[EgretWebViewLib initialize:@"/egretGame/preload/"]; // "/egretGame/preload/"是缓存目录,在应用的document目录下。

  

[EgretWebViewLib checkLoaded:zipFilePath Host:host] // zipFilePath是游戏资源zip的绝对路径 // host是游戏映射到哪个url下,如host为"https://egret.com/game/",对应的游戏url为"https://egret.com/game/index.html" 

  

   这里要怎么部署到本地服务器呢?这里的游戏资源是指什么?如果需要将游戏资源部署到本地服务器,那么本地服务器是指那个什么服务?是否需要手动重新启动一个本地服务?

ZipFileLoader* loader = [EgretWebViewLib createZipFileLoader:zipFilePath Host:host Delegate:self]; [loader start]; 

   这里是否只需要调用了这一句,就会将资源部署到本地服务器?如果是的话,那么是将什么资源部署到本地服务器?这个肯定需要一个源文件放上去,这个源文件在哪里?

[EgretWebViewLib startLocalServer]; // 启动本地服务器 [EgretWebViewLib startGame:gameUrl SuperView:self.view]; // 启动游戏 

  

    这里的1.1只是一种启动方式,另外还有如下3种启动方式:

[EgretWebViewLib startGame:gameUrl SuperView:self.view]; // gameUrl是游戏的url地址 

[EgretWebViewLib startLocalServerFromResource]; [EgretWebViewLib startGame:indexFilePath SuperView:self.view]; // indexFilePath是游戏的index.html文件相对于Resources的路径 

  如下图所示,indexFilePath为”game/index.html”。需要确认游戏资源目录已经添加到”Copy Bundle Resources”中。

  启动方式4:下载游戏资源到本地,从本地启动游戏

    1.检查本地游戏资源版本(根据文件名判断是否加载过)

[EgretWebViewLib checkLoaded:]; 

    2.下载游戏资源

ZipFileLoader* loader = [EgretWebViewLib createZipFileLoader: Delegate:]; [loader start]; 

    3.启动本地服务器和游戏

[EgretWebViewLib startLocalServer]; [EgretWebViewLib startGame: SuperView:]; 

  

到此,我还是没有看到我应该如何处理才能够跑得起来。

----------------------------上面都是废话---------------------------

改成使用ios,而不是hybird方案。

然后发布web包,将web包的release里面的放到ios工程的game目录下,将代码里面使用localhost即可运行。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!