【发布时间】:2016-02-19 20:06:39
【问题描述】:
我有一个全天使用的应用程序来收集签名。我的客户每天使用当前版本几个月都没有问题。但最近,一些将他们的 iPad(在这种情况下是 iPad 4 Retina)更新到 iOS 9.1 的客户报告说,当他们在 Mac 上为 iPad 充电一夜后开始使用它时,该应用程序没有响应。响应列表中的触摸需要几秒钟的时间,只有几个菜单项,并且根本不可能签名,因为触摸事件每隔几秒钟才被识别一次。该应用程序不会崩溃,直到用户感到厌烦并强制其关闭。
该应用程序通常是 iPad 上唯一使用的应用程序。它在白天大量使用,晚上根本不使用 iPad(只是充电)。
我无法在我的 iPad 或模拟器中复制该问题。我在调试器中没有看到 Instruments 的任何泄漏或其他问题。
该应用程序是为 iOS 5.1.1 和更新版本构建的(因此它可以在原始 iPad 上使用)。 App Store 版本是使用 Xcode 6 构建的,这是一个 beta 版本,它显示了与 Xcode 7.1 相同的行为(在客户处)。我使用 Core Data 进行本地存储,使用 CocoaAsyncSocket 与服务器通信。
抱歉说得这么含糊,但有人知道在哪里看吗?
【问题讨论】:
-
我怀疑充电与应用程序无响应有关。该应用程序使用哪些所有功能?比如核心数据、定位服务等?
-
能做的事情这么少,很难说。您的应用程序是否执行任何类型的后台工作?如果是这样,如果它在没有中断的情况下做了很多 很多 会发生什么?
-
@Nishant:嗯,我使用 CoreData、CFNetwork、Security 和 AdressBook 框架。
-
@Tom Harrington:当它不与服务器通信时,它不会在后台做任何事情。通信由用户开始,只需一分钟左右(Grand Central Dispatch)。
-
您是否碰巧使用 webview 来包含您的应用程序?