5

我为 iOS8 实现了一个共享扩展。该服务使用 OAuth 进行身份验证。我用于扩展的登录信息与容器应用程序共享。

问题是:

当我在扩展程序中时,应用程序切换到容器应用程序并注销,然后应用程序切换回包含扩展程序的主机应用程序 - 如何检测到扩展程序刚刚重新出现?扩展程序依赖于容器应用程序和扩展程序之间的共享数据库中存在的某些信息,但是,当应用程序注销时,这些数据会被删除。

我尝试注册各种“应用程序通知”,例如 UIApplicationDidBecomeActiveNotification。但是,正如预期的那样,这些不需要扩展。

如何检测扩展程序的状态何时发生变化,以便我的扩展程序在重新出现时更加健壮?

4

2 回答 2

0

NSExtensionContext.h

iOS 8.2 添加了许多用于扩展的通知:

NSExtensionHostDidBecomeActiveNotification
NSExtensionHostDidEnterBackgroundNotification
NSExtensionHostWillEnterForegroundNotification
NSExtensionHostWillResignActiveNotification
于 2015-05-01T14:16:12.377 回答
0

viewDidAppear:animated:每次重新进入扩展时都应该调用主视图控制器类的方法。当你即将离开时,viewWillDisappear:animated:应该打电话。

于 2014-10-20T04:12:00.250 回答