从 SDK 更改 appdelegate 方法
Change appdelegate methods from SDK
大家好
我正在尝试开发一个 SDK,该 SDK 将在应用程序进入后台时注册事件 [例如后台获取或重大位置更改]。
出于这个原因,我需要在 appDelegate 方法中编写代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
并且:
- (void)applicationDidEnterBackground:(UIApplication *)application
问题是,我怎样才能在不损坏托管应用程序应用程序委托的情况下做到这一点。
我尝试过分类,但为了做到这一点,我需要知道 appDelegate
我读了一些关于 methods swizzling 的内容,但我不知道如何更改 appdelegate 方法而不是 运行 它。
如果有人可以提供示例代码或 link 这将有助于解决问题,我们将不胜感激。
谢谢。
您可以使用这两个通知:
UIApplicationDidFinishLaunchingNotification
UIApplicationDidEnterBackgroundNotification
您可以在这里阅读更多关于它们的信息:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/#//apple_ref/c/data/UIApplicationDidFinishLaunchingNotification
这两种方法都会发送本地通知:UIApplicationDidFinishLaunchingNotification
和 UIApplicationWillEnterForegroundNotification
。
很明显,它对 didFinishLaunchingWithOptions:
没有多大帮助(因为我认为您的 SDK 不会在应用程序完成启动之前启动),但它对 background/foreground 很有用和 resign/active 部分。
大家好
我正在尝试开发一个 SDK,该 SDK 将在应用程序进入后台时注册事件 [例如后台获取或重大位置更改]。 出于这个原因,我需要在 appDelegate 方法中编写代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
并且:
- (void)applicationDidEnterBackground:(UIApplication *)application
问题是,我怎样才能在不损坏托管应用程序应用程序委托的情况下做到这一点。
我尝试过分类,但为了做到这一点,我需要知道 appDelegate
我读了一些关于 methods swizzling 的内容,但我不知道如何更改 appdelegate 方法而不是 运行 它。
如果有人可以提供示例代码或 link 这将有助于解决问题,我们将不胜感激。
谢谢。
您可以使用这两个通知:
UIApplicationDidFinishLaunchingNotification
UIApplicationDidEnterBackgroundNotification
您可以在这里阅读更多关于它们的信息:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/#//apple_ref/c/data/UIApplicationDidFinishLaunchingNotification
这两种方法都会发送本地通知:UIApplicationDidFinishLaunchingNotification
和 UIApplicationWillEnterForegroundNotification
。
很明显,它对 didFinishLaunchingWithOptions:
没有多大帮助(因为我认为您的 SDK 不会在应用程序完成启动之前启动),但它对 background/foreground 很有用和 resign/active 部分。