• egret 发布ios记录


    根据官方文档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”中。

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

  • 相关阅读:
    Git: git tag 使用小结(给发布版本打标记,切换并修改某个历史版本)
    android: Android水波纹点击效果
    Flutter: 运行新项目报错
    FFmpeg编译:mac下编译iOS平台的FFmpeg库(支持armv7, arm64, i386, x86_64)
    Xcode: Xcode中Command Line Tools的安装方法
    win10: windows+E 改回打开我的电脑
    DialogFragment: DialogFragment的一些理解
    Android Studio: 查看SDK源代码
    HandlerThread: HandlerThread的理解
    Looper: Looper,Handler,MessageQueue三者之间的联系
  • 原文地址:https://www.cnblogs.com/hackerl/p/11641262.html
Copyright © 2020-2023  润新知