我正在爲推送通知構建iOS的靜態庫。如何知道何時收到推送通知而無法訪問AppDelegate
?換句話說,我不希望用戶在收到推送通知時調用某些庫委託來告訴lib。 AppDelegate
有這種方法didRegisterForRemoteNotificationsWithDeviceToken
,如果我可以在調用該方法時收到通知,那將是完美的。我認爲NSNotificationCenter
必須是解決方案,但是沒有可以通過添加觀察者到NSNotificaitonCenter
接收到這樣的通知,當接收到推送通知時它將被觸發。或者我錯了?如何在沒有AppDelegate的iOS中收到推送通知時收到通知?
然而,有一個解決方案,而不是一個乾淨的,我必須承認,其中一個可以接收AppDelegate
。被用戶設置,將其保存到財產做出新AppDelegate
,將路線一切之前設置AppDelegate
。 (在dealloc
,財產應該更新)但是,這意味着只有一個圖書館可以做到這一點,所以我不認爲這是做到這一點。這裏的代碼吧:
{
....
self.applicationDelegate = [UIApplication sharedApplication].delegate;
[UIApplication sharedApplication].delegate = self;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return [self.applicationDelegate application:application didFinishLaunchingWithOptions:launchOptions];
}
我不知道這是否會工作,但我喜歡這個想法,並想嘗試一下。 – thesummersign 2015-04-14 12:33:09