升级IOS8游戏上传自定义头像功能失效的问题
为了支持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进行替代,这里有两篇文件介绍它:
跟踪代码后,发现它在调用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游戏上传自定义头像功能失效的问题的更多相关文章
- PHP中使用Session配合Javascript实现文件上传进度条功能
Web应用中常需要提供文件上传的功能.典型的场景包括用户头像上传.相册图片上传等.当需要上传的文件比较大的时候,提供一个显示上传进度的进度条就很有必要了. 在PHP .4以前,实现这样的进度条并不容易 ...
- 斗牛app上架应用宝、牛牛手机游戏推广、百人牛牛app应用开发、棋牌游戏上传、手游APP优化
联系QQ:305-710439斗牛app上架应用宝.牛牛手机游戏推广.百人牛牛app应用开发.棋牌游戏上传.手游APP优化 iOS开发iPhone/iPad平台安卓手机软件开发机型覆盖范围 超过113 ...
- iOS开发中文件的上传和下载功能的基本实现-备用
感谢大神分享 这篇文章主要介绍了iOS开发中文件的上传和下载功能的基本实现,并且下载方面讲到了大文件的多线程断点下载,需要的朋友可以参考下 文件的上传 说明:文件上传使用的时POST请求,通常把要上传 ...
- WordPress 后台上传自定义网站Logo
需求: 众所周知一般网站的logo都是固定的所以我在做网站时也是使用的静态logo文件,但最近用wp给一个客户做的网站时,因为网站现在的logo可能会需要重新设计,所以客户提出了需要在后台可以自己修改 ...
- Libcurl最初的实现tfp上传和下载功能
研究报告指出的目标是使用libcurl实现ftp文件上传和下载功能 一.Libcurlde简要 Libcurl的而且易于使用的利用url进行文件传输的库. , libcurl当前支持DICT, FIL ...
- Thinkphp5+PHPExcel实现批量上传表格数据功能
http://www.jb51.net/article/129262.htm 1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHP ...
- 使用SpringMVC框架实现文件上传和下载功能
使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...
- php 文件上传类,功能相当齐全,留作开发中备用吧。
收藏一个经典好用的php 文件上传类,功能相当齐全,留作开发中备用吧. 好东西,大家都喜欢,才是真的好,哈哈!!! <?php /** * 文件上传类 */ class upload ...
- EBS开发附件上传和下载功能(转)
原文地址: EBS开发附件上传和下载功能 上传 Oracle ERP二次开发中使用的方式有两种,一是通过标准功能,在系统管理员中定义即可,不用写代码,就可以使几乎任何Form具有附件功能,具体参考系统 ...
随机推荐
- Ueditor结合七牛云存储上传图片、附件和图片在线管理的实现和最新更新
最新下载地址: https://github.com/widuu/qiniu_ueditor_1.4.3 Ueditor七牛云存储版本 注意事项 老版本请查看 : https://github.com ...
- HTML相对路径相对目录--上级目录及下级目录的写法
如何表示上级目录 ../表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以此类推. 假设info.html路径是:c:/Inetpub/wwwroot/sites/blab ...
- Selenium Books
Recently, some of my projects rely heavily upon tests with selenium. Some books about selenium are c ...
- 最长回文子串—Manacher 算法 及 python实现
最长回文子串问题:给定一个字符串,求它的最长回文子串长度.如果一个字符串正着读和反着读是一样的,那它就是回文串. 给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最 ...
- 【AtCoder】Dwango Programming Contest V题解
A - Thumbnail 题意简述:给出N个数,找出N个数中和这N个数平均值绝对值最小的数 根据题意写代码即可= = #include <bits/stdc++.h> #define f ...
- 【AtCoder】ARC092
C - 2D Plane 2N Points 把能连边的点找到然后跑二分图匹配即可 #include <bits/stdc++.h> #define fi first #define se ...
- Matlab保存uint16格式文件的相关注意事项
在matlab中,我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算.在matlab中,为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型.如果 ...
- Codeforces Round #189 (Div. 1) C - Kalila and Dimna in the Logging Industry 斜率优化dp
C - Kalila and Dimna in the Logging Industry 很容易能得到状态转移方程 dp[ i ] = min( dp[ j ] + b[ j ] * a[ i ] ) ...
- MySQL主从检验一致性工具pt-table-checksum报错的案例分析
[问题] 有同事反馈我们改造过的MySQL5.7.23版本,使用pt-table-checksum工具比较主从数据库的一致性时报错 Unsafe statement written to the bi ...
- UE4新手编程之创建空白关卡和添加碰撞体
让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体. 一. 创建空白关卡 1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N). 2) 你可以选择Defau ...