egret 发布ios记录

摘要:
成功发布后,使用xcode打开xcworkspace项目。启动方法4:将游戏资源下载到本地,并在本地启动游戏1。检查本地游戏资源的版本[EgretWebViewLibcheckLoaded:];2.下载游戏资源ZipFileLoader*loader=[EgretWebViewLibcreateZipFileLoader:Delegate:];[loaderstart];3.启动本地服务器和游戏[EgretWebViewLibstartLocalServer];[EgretWebViewLibstartGame:SuperView:];在这一点上,我仍然没有看到我应该如何处理它来运行。然后发布web包,将web包的发布放在ios项目的游戏目录中,并使用localhost运行代码。

根据官方文档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目录下。

      成功;

  

         1.1.2检查游戏资源是否已经部署到本地服务器;

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

  

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

       1.1.3 将游戏资源部署到本地服务器

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

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

    1.1.4 启动游戏  包括了启动本地服务器, 启动游戏。

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

  

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

           启动方式2:直接启动游戏  

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

     启动方式3:从Resources目录启动游戏(0.1.11版本添加)

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

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

egret 发布ios记录第1张egret 发布ios记录第2张

  启动方式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即可运行。

免责声明:文章转载自《egret 发布ios记录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇内存泄露和CPU持续升高问题排查与解决子窗体中如何调用父窗体里的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python之fabric(二):执行模式(转)

执行模式 执行模式可以让你在多个主机上执行多个任务。 执行策略: 默认fabric是单个有序地执行方法,其行为如下:       1. 创建一系列任务,通过fab任务执行要执行的任务;       2. 根据主机列表定义,去执行每一个任务;       3. 没有主机定义的任务,将在本地执行一次。 如: from fabric.api import run...

ssh 提示Connection closed by * 的解决方案

使用ssh方式连接linux系统时,发现一直上报这个错误: Connection closed by 192.168.3.71 port 22 刚开始还以为是端口被防火墙禁止了呢,通过关闭和查看,并没有发现 什么错误,这就要详细的分析了。到底是哪儿出的问题呢? 根据思路来,先看log:从log可以看出,出错的原因很明显,就是加密文件权限有问题了,接下来就去...

EdgeX 1.2研究-2 读取Modbus协议设备

1、使用的基于下面这个链接的示例: https://docs.edgexfoundry.org/1.2/examples/Ch-ExamplesAddingModbusDevice/ 这个示例没有跑通,主要卡在这里的讲解配置文件和下载的版本对应不上,经过两天的摸索,使用如下方式实现 2、使用下面compose文件安装 # /***************...

HostOnly Cookie和HttpOnly Cookie

怎么使用Cookie? 通常我们有两种方式给浏览器设置或获取Cookie,分别是HTTP Response Headers中的Set-Cookie Header和HTTP Request Headers中的Cookie Header,以及通过JavaScript对document.cookie进行赋值或取值。 rfc6265第5.2节定义的Set-Cook...

vscode配置远程免密

通常我们为了读写代码方便,会在IDE里查看和修改代码,每次通过remote ssh登录,频繁的都要输入密码,这个很烦,索性免密登录,以后就可以想连远程即可实现。 废话少说,直接上教程。 1.在git bash中配置公私钥 打开git bash # 输入 ssh-keygen -t rsa -b "你想输入的内容,可免" # 防止忘记,建议一路回车 #...

nginx实战二

 nginx架构分析 1.nginx模块化 Nginx涉及到的模块分为核心模块、标准HTTP模块、可选HTTP模块、邮件服务模块以及第三方模块等五大类。 https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/module.md [root@centos-03 objs]# ls ngx_mo...