通知與訊息機制 本地通知

2021-07-27 19:30:00 字數 3082 閱讀 8848

//

// localnotification

//#import "ltyviewcontroller.h"

@inte***ce

@end

@implementation

#pragma mark - 應用**方法

_window=[[uiwindow alloc]initwithframe:[uiscreen mainscreen].bounds];

_window.backgroundcolor =[uicolor colorwithred:249/255.0 green:249/255.0 blue:249/255.0 alpha:1];

//設定全域性導航條風格和顏色

ltyviewcontroller *maincontroller=[[ltyviewcontroller alloc]init];

_window.rootviewcontroller=maincontroller;

[_window makekeyandvisible];

//如果已經獲得傳送通知的授權則建立本地通知,否則請求授權(注意:如果不請求授權在設定中是沒有對應的通知設定項的,也就是說如果從來沒有傳送過請求,即使通過設定也打不開訊息允許設定)

[self addlocalnotification];

}else

return

yes;

}#pragma mark 呼叫過使用者註冊通知方法之後執行(也就是呼叫完registerusernotificationsettings:方法之後執行)

if (notificationsettings.types!=uiusernotificationtypenone)

}#pragma mark 進入前台後設定訊息資訊

//進入前台取消應用訊息圖示

}#pragma mark - 私有方法

#pragma mark 新增本地通知

- (void)addlocalnotification;//繫結到通知上的其他附加資訊

//呼叫通知

}#pragma mark 移除本地通知,在不需要此通知時記得移除

從上面的程式可以看到userinfo這個屬性我們設定了引數,那麼這個引數如何接收呢?

//

// localnotification

//#import "ltyviewcontroller.h"

@inte***ce

@end

@implementation

#pragma mark - 應用**方法

_window=[[uiwindow alloc]initwithframe:[uiscreen mainscreen].bounds];

_window.backgroundcolor =[uicolor colorwithred:249/255.0 green:249/255.0 blue:249/255.0 alpha:1];

//設定全域性導航條風格和顏色

ltyviewcontroller *maincontroller=[[ltyviewcontroller alloc] init];

_window.rootviewcontroller=maincontroller;

[_window makekeyandvisible];

//新增通知

[self addlocalnotification];

//接收通知引數

nsdictionary *userinfo= notification.userinfo;

[userinfo writetofile:@"/users/kenshincui/desktop/didfinishlaunchingwithoptions.txt" atomically:yes];

nslog(@"didfinishlaunchingwithoptions:the userinfo is %@.",userinfo);

return

yes;

}#pragma mark 接收本地通知時觸發

nsdictionary *userinfo=notification.userinfo;

[userinfo writetofile:@"/users/kenshincui/desktop/didreceivelocalnotification.txt" atomically:yes];

nslog(@"didreceivelocalnotification:the userinfo is %@",userinfo);

}#pragma mark 呼叫過使用者註冊通知方法之後執行(也就是呼叫完registerusernotificationsettings:方法之後執行)

if (notificationsettings.types!=uiusernotificationtypenone)

}#pragma mark 進入前台後設定訊息資訊

}#pragma mark - 私有方法

#pragma mark 新增本地通知

-(void)addlocalnotification;//繫結到通知上的其他額外資訊

//呼叫通知

}@end

情況不同呼叫不同的方法接收到userinfo寫入本地檔案系統。有了userinfo一般來說就可以根據這個資訊進行一些處理,例如可以根據不同的引數資訊導航到不同的介面,假設是更新的通知則可以導航到更新內容介面等。

iOS 本地通知與遠端通知

ios 推送通知有兩種 本地推送 遠端推送.遠端推送 apns和第三方推送,第三方推送最終也需要apns 本地推送實現 註冊通知 float sysver uidevice currentdevice systemversion floatvalue if sysver 10 else 傳送通知 f...

本地通知和推送通知

關於本地通知 在ios中如果點選乙個彈出通知 或者鎖屏介面滑動檢視通知 缺省會自動開啟當前應用。由於通知由系統排程那麼此時進入應用有兩種情況 關於推送通知 推送通知的過程可以分為以下幾步 應用服務提供商從伺服器端把要傳送的訊息和裝置令牌 device token 傳送給蘋果的訊息推送伺服器apns。...

iOS本地通知

rt 本地通知 本地通知是uilocalnotification的例項,主要有三類屬性 對本地通知的數量限制,ios最多允許最近本地通知數量是64個,超過限制的本地通知將被ios忽略。如果就寫個簡單的定時提醒,是很簡單的,比如這樣 示例寫的很簡單,啟動應用後,就發出乙個定時通知,10秒後啟動。這時按...