为了支持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. 使用before_request来做权限和用户检查

    因为使用restful方式,因此每次用户访问都会上传带入auth_key,如jwt等,因此可在@app.before_request中做权限的检查. @app.app.before_request d ...

  2. #CSS margin-top父元素下落

    [我的解决方法] 给该父元素添加如下代码 border-top: 1px solid rgba(0,0,0,0); box-sizing:border-box; [原因] css2.1盒模型中规定的内 ...

  3. 【BZOJ】4025: 二分图

    题解 lct维护一个结束时间作为边权的最大生成树,每次出现奇环就找其中权值最小的那条边,删掉的同时还要把它标记上,直到这条边消失 如果有标记则输出No 边权通过建立虚点来维护 代码 #include ...

  4. docker commit 制作镜像

    docker commit -m="commit jdk" --author="gutianlangyu" ae56f6cad215 gutianlangyu/ ...

  5. 怎么去除移动端点击a标签链接时的背景色

    在手机端点击链接时会发现有一个背景色,有时候需要改变这个颜色,或者去除这个颜色,有时候a标签做成按钮时这个颜色的存在会很丑,像这样: 可以通过 -webkit-tap-highlight-color: ...

  6. P3905 道路重建

    P3905 道路重建我一开始想错了,我的是类似kruskal,把毁坏的边从小到大加,并且判断联通性.但是这有一个问题,你可能会多加,就是这条边没用,但是它比较小,你也加上了.居然还有10分,数据也是水 ...

  7. 模拟app端上传图片

    使用插件模块管理模式: jsp页面: <sys:fileUpload fieldName="picList" contentId="true" value ...

  8. 001.FTP简介及相关文件

    一 FTP简介 FTP(File Transfer Protocol)文件传输协议,用于Internet上控制文件的双向传输. 下载:远程主机拷贝文件至本地: 上传:本地主机拷贝文件至远程. 二 FT ...

  9. BZOJ2190 [SDOI2008]仪仗队 [欧拉函数]

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...

  10. Beta冲刺准备

    过去存在的问题: 界面不够美观 推荐不够人性化 代码不够符合开闭原则 我们已经做了哪些调整/改进: 本来想引入springAndroid,但看了下google的官方文档,不建议引入第三方框架:代码重构 ...