上篇文章我們講了如何生成測(cè)試push的證書<一>iOS 開發(fā)Push的個(gè)人見解圖文并茂詳細(xì)到我寫的想吐!@牌隆Oせ肌!S馨场J墼辍N牖础!陪捷!碾盐,這篇我們來講講如何進(jìn)行開發(fā)測(cè)試。
這是單行代碼
工程中我們應(yīng)該怎么寫呢揩局。
首先在AppDelegate類中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中加入如下代碼毫玖,
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
IOS8 新系統(tǒng)需要使用新的代碼咯 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; [[UIApplication sharedApplication] registerForRemoteNotifications]; } else { //這里還是原來的代碼 [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; }
感謝HTC 提醒 當(dāng)時(shí)寫這個(gè)的時(shí)間沒有考慮到ios8 demo就不修改了 想看的自己修改下
這是注冊(cè)push的方法。
接下來在寫入3個(gè)代理方法凌盯。
/*!
* @author Yunis_song, 15-03-27 17:03:03
*
* @brief 獲取tonken
*
*/
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@"My token is: %@", deviceToken);
}
/*!
* @author Yunis_song, 15-03-27 17:03:28
*
* @brief 獲取token失敗
*
*/
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@"Failed to get token, error: %@", error);
}
/*!
* @author Yunis_song, 15-03-27 17:03:45
*
* @brief 推送的消息
*
*/
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"userinfor is : %@", userInfo);
}
這3個(gè)方式分別是獲取token成功付枫,獲取token失敗,已經(jīng)push的消息是什么驰怎。
用我們上一篇生成的證書阐滩,在設(shè)備上運(yùn)行。
如果你不知道怎么運(yùn)行县忌,那我只能說少年掂榔,去百度!V⑿印W盎瘛!@鞑穴豫!
運(yùn)行后會(huì)首先彈一個(gè)框出來,是要求你允許進(jìn)行推送服務(wù)的逼友,選擇允許精肃。
然后在
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
方法里面就可以得到token。記錄這個(gè)token帜乞。
下面推送要用到司抱。
到這里,最簡(jiǎn)單的推送編碼我們已經(jīng)完成黎烈,下面要去下一個(gè)關(guān)于推送的工程习柠,來驗(yàn)證這個(gè)證書的正確性。
下載工程怨喘。PushMeBaby
在這個(gè)工程的ApplicationDelegate中有這樣的代碼津畸。
self.deviceToken = @"0dcb0f1d 18285786 acefb3c0 5709186f d45a107f 2a2aca28 4e5084b9 18f8e42e";
self.payload = @"{\"aps\":{\"alert\":\"This is some fancy message.\", \"sound\":\"sound.aiff\",\"badge\":1}}";
self.certificate = [[NSBundle mainBundle] pathForResource:@"aps_development" ofType:@"cer"];
其中,
self.deviceToken填寫你剛才得到的token必怜。
self.certificate 這里是讀取推送的cer文件,上一篇<一>iOS 開發(fā)Push的個(gè)人見解圖文并茂詳細(xì)到我寫的想吐:笃怠J崆臁E尽!8嘀础Wな邸!8住欺栗!我們已經(jīng)得到了他,把它拖入到工程中征峦。
然后運(yùn)行迟几,會(huì)出現(xiàn)一個(gè)彈框。
選擇允許栏笆,出現(xiàn)程序如下类腮,點(diǎn)擊push不出意外,你剛才運(yùn)行的手機(jī)就會(huì)接受到這個(gè)push的消息蛉加。
如下:
至此蚜枢,簡(jiǎn)單的push大功告成。针饥!
歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處丁眼。http://www.cnblogs.com/yunis/p/4372453.html
http://www.reibang.com/p/ad743caed9a7