我们有一个应用程序在应用程序商店中运行了将近一年,并且我们收到了一些客户的差评,更新后无法打开应用程序。
用户报告他们在删除并随后重新安装应用程序后无法启动该应用程序。一位用户确实表示,他们只能在 iPhone 恢复出厂设置后才能启动该应用程序。
我们认为该问题与钥匙串有关,因为这似乎在系统中持续存在。出于这个原因,我们将用于访问钥匙串的第三方库更新为https://github.com/soffes/sskeychain。此更改是在版本 1.4.1 中进行的。
发布 1.4.1 后,一些用户表示他们终于能够打开该应用程序。不幸的是,由于我们无法调试问题,我们无法确定可能已解决的问题。此外,我们看到其他用户在升级到 1.4.1 和 1.4.2 时仍然遇到同样的问题。
我们也在考虑这个问题可能与我们的依赖库之一有关:
- Flurry 分析
- 脸书 iOS SDK
- 贝宝 MPL
- Hockeyapp ios 库
- ASIHTTP请求
- 我们不使用 CoreData
我们无法使用标准 iOS 工具对此进行调试,我们甚至不能指望 hockey 应用程序向我们提供崩溃报告,因为该应用程序在发送之前已关闭。
我们不理解这种行为,并且在从应用商店更新时,我们显然无法控制应用。应用程序在删除时是否有任何保留?如果没有,您是否知道任何可能阻止打开重新安装的应用程序的事情?
编辑:我们在 applicationDidFinishLaunching: 应用程序委托的方法中配置 hockeyapp 库:
[[BITHockeyManager sharedHockeyManager] configureWithIdentifier:QUINCY_APP_IDENTIFIER delegate:self];
[[BITHockeyManager sharedHockeyManager] setDisableUpdateManager:YES];
[[[BITHockeyManager sharedHockeyManager] crashManager] setCrashManagerStatus:BITCrashManagerStatusAutoSend];
[[BITHockeyManager sharedHockeyManager] startManager];
#ifdef DEBUG
[[BITHockeyManager sharedHockeyManager] setDebugLogEnabled:YES];
#endif
应用程序标识符在构建设置中配置,并且每个配置都不同。