升级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进行替代,这里有两篇文件介绍它:

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也是一样,不然就像我经常面临的问题一样,各平台上的键盘、上传头像等问题就像一座大山挡在了你的面前。没有比较扎实的基本功,很难应付的了一个接一个的问题,这还不谈游戏具体某些功能实现上的问题。路漫漫其修远兮,吾将上下而求索!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逻辑熊猫带你玩Python

“Ubuntu 16.04 桌面版使用体验报告”

看起来还不错,而且是正版软件哦~换了张壁纸,壁纸是系统自带的,笔者不是很喜欢纯纯的紫色。截图工具使用的是Ubuntu系统自带的截图工具。

4214
来自专栏SpringBoot 核心技术

写文章真的是为了报酬吗?

其实我也就是微微一笑,因为写文章去得到报酬从一开始并不是我的目标,也没有想打算通过文章的赞赏来解决生活问题。

1303
来自专栏WOLFRAM

用 Wolfram 语言玩「跳一跳」

1763
来自专栏安恒信息

黑客披露多款DSL调制解调器存后门

旧年已逝,新年伊始。消费级DSL调制解调器也又一次现漏洞。 宽带用户如今已经知道如果一个设备是连在互联网上的话,就千万不要启用设备上任何类型的远...

2757
来自专栏卡少编程之旅

MAC系统下的相关优秀软件搜集

2847
来自专栏自动化测试实战

船长带你看书——《selenium2 python 自动化测试实战》(1)

3735
来自专栏何俊林

Android 8.0正式发布 "奥利奥"新功能惊人

尽管 Android 刷版本号的步伐年年加快,但每年带给用户的惊喜从未减少。经历了四个开发者预览版的洗礼后,Android 8.0 终于在今天凌晨迎来了正式版发...

2428
来自专栏顶级程序员

Python 获取网易云音乐热门评论

来源:lyrichu www.cnblogs.com/lyrichu/p/6635798.html 最近在研究文本挖掘相关的内容,所谓巧妇难为无米之炊,要想进...

5187
来自专栏web前端教室

【图片简历】Vue.js在线简历编辑...(三)

在线简历编辑这个,相对来讲还是有一点点复杂的。 在上一篇文章《【图片简历】Vue.js在线简历编辑器&生成图片简历(二)》中, (1)、搞定了html2canv...

5527
来自专栏Python绿色通道

使用Python自动化发布文章:(一)

写在前面:坚持解决一个问题,花了两三个小时的时间终于解决了问题,最后我的自动化发布文章的功能终于实现了。

4843

扫码关注云+社区

领取腾讯云代金券