<二>iOS 开发Push的个人见解 图文并茂 详细到我写的想吐!!!!!!!!!

上篇文章我们讲了如何生成测试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的消息。

如下:

IMG_1547.PNG
IMG_1548.PNG

至此,简单的push大功告成。!

Demo下载地址。测试工程
推送工程

欢迎转载,转载请注明出处。http://www.cnblogs.com/yunis/p/4372453.html
http://www.jianshu.com/p/ad743caed9a7

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知...
    莫离_焱阅读 6,620评论 1 8
  • 极光推送: 1.JPush当前版本是1.8.2,其SDK的开发除了正常的功能完善和扩展外也紧随苹果官方的步伐,SD...
    Isspace阅读 6,812评论 10 16
  • 许多集成的步骤个推官网都有了,这里只写关于推送的远程推送和本地通知的步骤和代码。APP在后台时:走苹果的APNS通...
    AllureJM阅读 2,813评论 1 9
  • 推送通知 注意:这里说的推送通知跟NSNotification有所区别 NSNotification是抽象的,不可...
    iOS开发攻城狮阅读 4,358评论 1 13
  • 原文:http://hechen.info/2015/07/30/iOS-Push-Notification/ 最...
    羊大果阅读 2,975评论 0 8