上篇文章我們講了如何生成測試push的證書<一>iOS 開發Push的個人見解圖文并茂詳細到我寫的想吐!!!!!!!!!,這篇我們來講講如何進行開發測試。
這是單行代碼
工程中我們應該怎么寫呢。
首先在AppDelegate類中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中加入如下代碼,
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
IOS8 新系統需要使用新的代碼咯 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 提醒 當時寫這個的時間沒有考慮到ios8 demo就不修改了 想看的自己修改下
這是注冊push的方法。
接下來在寫入3個代理方法。
/*!
* @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個方式分別是獲取token成功,獲取token失敗,已經push的消息是什么。
用我們上一篇生成的證書,在設備上運行。
如果你不知道怎么運行,那我只能說少年,去百度!!!!!!
運行后會首先彈一個框出來,是要求你允許進行推送服務的,選擇允許。
然后在
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
方法里面就可以得到token。記錄這個token。
下面推送要用到。
到這里,最簡單的推送編碼我們已經完成,下面要去下一個關于推送的工程,來驗證這個證書的正確性。
下載工程。PushMeBaby
在這個工程的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 開發Push的個人見解圖文并茂詳細到我寫的想吐!!!!!!!!!我們已經得到了他,把它拖入到工程中。
然后運行,會出現一個彈框。
選擇允許,出現程序如下,點擊push不出意外,你剛才運行的手機就會接受到這個push的消息。
如下:
至此,簡單的push大功告成。!
歡迎轉載,轉載請注明出處。http://www.cnblogs.com/yunis/p/4372453.html
http://www.lxweimin.com/p/ad743caed9a7