摘要: 最近正好在解决后台的问题,看到大家在讨论网易公开课为什么可以后台下载?远远超过系统默认的后台时间600s,当时也觉得十分好奇,正好手机上装的有网易公开课,就拿到了网易公开课的ipa文件,分析了一下它的info.plist问题,发现毫无特殊之处,甚至没有指出后台任务的模式,一般都要指定music或者voip,所以深感诧异。当时便跟同时讨论了这件事情,都觉得很特别,但是也都相信肯定是用了某种我们不熟悉的技术,大家都在怂恿我给网易公开课的工作人员发封邮件请教一下,我呢还是决定先研究一下,然后再请教。 在想了一夜之后,第二天上午突然一到灵光乍现。这里在讲我的解决方案之前首先描述一下当前的两种持续... 阅读全文
posted @ 2013-08-03 15:03 CoderZHY 阅读(1194) 评论(0) 推荐(0) 编辑
摘要: iOS的后台播放实在是折磨人,各种原因导致不能后台播放,这次又遇到了audio unit初始化失败的问题。 情况是这样的:点击播放一首歌曲,然后快速使app进入后台模式,这个错误就比较常现了,大约有三四成的比例。这个真的是毫无头绪,感觉不到解决的希望,就各种看资料,这种搜索。上帝保佑,后来在stackoverflow上看到有一个问题是voip在后台模式收到消息后启动失败,也是这个错误,看到一个回答说是因为在后台模式无法打开音频设备的缘故。当时只是纪录了答案,但是毕竟情况不太一样,别人的问题是在后台启动失败,咱是在进入后台的时候偶尔失败,不是必现,只是概率较高而已。所以也不是很放在心上。后... 阅读全文
posted @ 2013-08-03 14:39 CoderZHY 阅读(1302) 评论(0) 推荐(0) 编辑
摘要: 这一段时间做的这个项目一直很忙,所以都没有时间总结。最近终于稍有空闲,并且解决了几个所谓的大问题,特意记录一下,避免以后忘记。 由于公司的音频播放引擎是用audio unit 写的,这项技术非常底层,需要处理很多东西,因此比较容易出问题。前段时间测试经常反馈后台有时候不能播放,并且找不到规律,也就是不能重现的bug,这种bug最叫人头疼,想解决的时候不能重现,你放弃了它就蹦出来烦你。后来在我的不懈努力下,终于找到了重现的方法。当app在后台模式下被中断后,在endInterruptionWithFlags:(NSUInteger)flags 中再次激活audio session的话会收到... 阅读全文
posted @ 2013-08-03 14:22 CoderZHY 阅读(1833) 评论(1) 推荐(0) 编辑