我正在为客户维护一个 iPhone 应用程序。该应用程序不在后台运行(应用程序不在后台运行 = 设置 plist 中的“是”)。但是,当用户暂时中断(例如被电话呼叫)或应用程序存在时,用户需要注销。我目前在 applicationWillResignActive: 中执行此操作。我首先考虑使用 beginBackgroundTaskWithExpirationHandler 但后来注意到返回值始终是“UIBackgroundTaskInvalid”。我认为这是因为我无法在后台运行。那么问题是,我应该如何处理注销?我是否应该使注销同步并希望它按时完成(我猜在 10 秒内?)。
起初我不知道这个 beginBackgroundTaskWithExpirationHandler 没有返回有效的后台任务标识符,并且应用程序正常注销。除了其中一位用户因“超过允许的时间有活动的断言”而不断崩溃(在 iPad 1 上)。
其他人处理过这个问题吗?