大家好。
我正在尝试开发一个SDK,它会在应用程序进入后台时注册事件[如后台获取或重要位置更改]。 因此我需要在appDelegate方法中编写代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
和
- (void)applicationDidEnterBackground:(UIApplication *)application
问题是,如何在不损坏托管应用程序app委托的情况下执行此操作。
我尝试过分类,但为了做到这一点,我需要知道appDelegate
我读了一些关于methods swizzling但我无法弄清楚如何更改appdelegate方法而不是将其运行。
如果有人可以提供示例代码或链接,以帮助清除问题,将非常感谢。
感谢。
答案 0 :(得分:3)
您可以使用以下两种通知:
UIApplicationDidFinishLaunchingNotification
UIApplicationDidEnterBackgroundNotification
答案 1 :(得分:0)
这两种方法都会发送本地通知:UIApplicationDidFinishLaunchingNotification
和UIApplicationWillEnterForegroundNotification
。
很明显,它对didFinishLaunchingWithOptions:
没有多大帮助(因为我不认为您的SDK会在应用程序完成启动之前启动),但它对后台/前景和辞职很有用/活跃部分。