为了支持arm64,之前已经折腾了很久,昨晚打包准备提交苹果审核时,测试那边的同事反馈说游戏上传自定义头像功能不可用了。

游戏上传自定义功能的简介:卡牌游戏最初是《比武招亲》中有一个充VIP之后就可使用了上传自定义功能的特权,我们的游戏就“复制”了该功能。

 

具体实现就是点击游戏内换自定义头像的按钮后,调用不同平台相应的方法,获取用户选择的图片数据,然后将图片裁剪再传给后台保存至特定的目录下。

 

测试设备是ipad air2,系统版本IOS 8.0.1,点击游戏内的按钮直接无响应了。

第一个问题:点击后无响应

原因是 UIActionSheet 的showInView方法的参数上,之前设置的是self.view.window (NSInvalidArgumentException, reason:Sheet can not be presented because the view is not in a window)

第二个问题:点击选择相册按钮后无下文了

这里也有二个问题,一是显示的按钮只有一个“选择相册”

原因是UIActionSheet在ios8中已经被弃用了(点击查看详情>>),使用UIAlertController进行替代,这里有两篇文件介绍它:

UIAlertController in IOS8>>

UIAlertController>>

 

跟踪代码后,发现它在调用UIPopoverController的presentPopoverFromRect方法后,直接就调用了popoverControllerDidDismissPopover方法

 

通过搜索“ios8 ipad UIPopoverController ”找到了这个链接(UIPopoverController not presenting in iPad iOS 8),一看到stackoverflow.com就感觉到有救了,今天不用再通宵了…

 

从元旦放假回来上班第一天开始,算今天已经连续加了7天班,遇到的几个问题都特别陌生,无力感很重也很沮丧,没什么头绪,感觉无从下手,曾经有个问题二三天的时间我看着那个崩溃却找不到动手的地方。对那个领域或者那个东西太过陌生,而且google正好被墙掉了访问起来断断续续的。现在问题被解决了,回想起来,运气成分真的很大。因为很多问题我跟测试他们讲,再让我解那个bug,我不会想到那个地方上去。

 

最近一次更新功能之后,IOS设备上的重启按钮,点击后游戏直接闪退了,概率比较高。断点之后,望着屏幕上crash的地方百思不得其解,底层是cocos2d-x 2.x版本,上层是用C++包裹的一层,然后上面又是Lua包了一层,查堆栈也实在找不到哪个地方调用了特殊的什么东西,重启那块逻辑代码又没动过,真是郁闷。前一晚上搞到大半夜放弃了,回家睡觉都在做梦,第二早上都查了一上午,还是没找到。中午吃过饭,再看那个crash的地方 cocos2d-x中的CCDictionary.cpp  objectForKey方法的断点挂掉了

断言的这行代码直接挂掉了,再往上一个调用,来源于CCINode.cpp,网上又搜索了一下,我们使用的代码是将网上的代码修改了一下,也没发现问题,貌似无解了。当我准备放弃的时候,突然却想到新功能中主界面有一个功能上面有调用swf进行特效的显示,然后我看了一下它被隐藏了。那我想既然隐藏了,那就不要让它play嘛,结果试了一下,嗯,不崩溃了!好神奇,然后代码又调回去,试了一上,好了!居然好了! 日志显示其实游戏已经启动了,都开始请求CDN上的资源了,只是界面还停留在重启那个界面,但崩溃的点却挂在了CCDictionary.cpp中。

 

换成IOS8.1的SDK后,上传头像功能不可用了,搜索了好久发现都跟自己的问题对不上,当输入特定的关键字时出来的第一条就是自己想要的,结果几分钟就把问题解决了,但找相应答案之前却已经花了将近4个小时…

 

从JavaScript网页开发,到ActionScript网页游戏开发,再到C++的手游开发,一路走来,感觉真是摸着石头在过河,移动平台的版本升级之快,让我等开发者有切肤之痛。我真希望,有一天我能主导基于HTML5的游戏框架并应用于型项目中,我期望这一天,风水轮流转嘛。端游 –>  页游 –> 手游,今日之手游开发模式犹如昨日之端游。

 

作为手游开发人员,要学习和掌握的知识的比较广:C++底子要用吧,Lua至少能用的很顺手吧,Android要比较熟悉吧(不然怎么接SDK,修一些bug呢),IOS也是一样,不然就像我经常面临的问题一样,各平台上的键盘、上传头像等问题就像一座大山挡在了你的面前。没有比较扎实的基本功,很难应付的了一个接一个的问题,这还不谈游戏具体某些功能实现上的问题。路漫漫其修远兮,吾将上下而求索!

升级IOS8游戏上传自定义头像功能失效的问题的更多相关文章

  1. PHP中使用Session配合Javascript实现文件上传进度条功能

    Web应用中常需要提供文件上传的功能.典型的场景包括用户头像上传.相册图片上传等.当需要上传的文件比较大的时候,提供一个显示上传进度的进度条就很有必要了. 在PHP .4以前,实现这样的进度条并不容易 ...

  2. 斗牛app上架应用宝、牛牛手机游戏推广、百人牛牛app应用开发、棋牌游戏上传、手游APP优化

    联系QQ:305-710439斗牛app上架应用宝.牛牛手机游戏推广.百人牛牛app应用开发.棋牌游戏上传.手游APP优化 iOS开发iPhone/iPad平台安卓手机软件开发机型覆盖范围 超过113 ...

  3. iOS开发中文件的上传和下载功能的基本实现-备用

    感谢大神分享 这篇文章主要介绍了iOS开发中文件的上传和下载功能的基本实现,并且下载方面讲到了大文件的多线程断点下载,需要的朋友可以参考下 文件的上传 说明:文件上传使用的时POST请求,通常把要上传 ...

  4. WordPress 后台上传自定义网站Logo

    需求: 众所周知一般网站的logo都是固定的所以我在做网站时也是使用的静态logo文件,但最近用wp给一个客户做的网站时,因为网站现在的logo可能会需要重新设计,所以客户提出了需要在后台可以自己修改 ...

  5. Libcurl最初的实现tfp上传和下载功能

    研究报告指出的目标是使用libcurl实现ftp文件上传和下载功能 一.Libcurlde简要 Libcurl的而且易于使用的利用url进行文件传输的库. , libcurl当前支持DICT, FIL ...

  6. Thinkphp5+PHPExcel实现批量上传表格数据功能

    http://www.jb51.net/article/129262.htm 1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHP ...

  7. 使用SpringMVC框架实现文件上传和下载功能

    使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...

  8. php 文件上传类,功能相当齐全,留作开发中备用吧。

    收藏一个经典好用的php 文件上传类,功能相当齐全,留作开发中备用吧. 好东西,大家都喜欢,才是真的好,哈哈!!! <?php  /**   * 文件上传类   */  class upload ...

  9. EBS开发附件上传和下载功能(转)

    原文地址: EBS开发附件上传和下载功能 上传 Oracle ERP二次开发中使用的方式有两种,一是通过标准功能,在系统管理员中定义即可,不用写代码,就可以使几乎任何Form具有附件功能,具体参考系统 ...

随机推荐

  1. vue组件库(一):前期准备工作

    前言 将近期项目内自行开发一个vue组件,做个总结,记录下自己的思维过程~~~ 正文 接到这个任务后,还是要做些准备工作的. 主要内容如下: 1.优化下所在团队前端开发流程 服务器搭建gitlab,采 ...

  2. FileInputStram入门

    1.read() 读取一个字节 @Test public void test1() throws Exception{  //1.指定文件读取路径  String filePath = "E ...

  3. $.ajax的一些总结

    1.$.ajaxSetup()函数来全局设置    $.ajaxSetup({      url: "/xmlhttp/",      global: false,      ty ...

  4. Data Visualization Books

    Data Visualization: Principles and Practice

  5. .NetCore 扩展封装 Expression<Func<T, bool>> 查询条件遇到的问题

    前面的文章封装了查询条件 自己去组装条件,但是对 And  Or  这种组合支持很差,但是也不是不能支持,只是要写更多的代码看起来很臃肿 根据 Where(Expression<Func< ...

  6. spark优化之数据结构(减少内存)

    官网是这么说的: The first way to reduce memory consumption is to avoid the Java features that add overhead, ...

  7. Selenium Webdriver概述(转)

    Selenium Webdriver https://www.yiibai.com/selenium/selenium_overview.html# webdriver自动化俗称Selenium 2. ...

  8. SQL数据库数据类型详解

    数据类型 类型 描 述 bit 整型 bit 数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或Fa lse .On 或Off int 整 ...

  9. 【记录】group_concat_max_len

    这几天在帮别人定位一个问题,结果定位了半天都没有结果.redis中取出来的数据很奇怪,每次都不一样,而且总是取不完全. 我以为是redis的内存不够,导致数据丢失,但是不应该啊,这么点数据,也不至于内 ...

  10. springmvc中使用MockMvc测试controller

    示例代码 import com.alibaba.fastjson.JSONObject; import org.junit.Before; import org.junit.Test; import ...