上篇文章我们讲了如何生成测试push的证书(<一>iOS 开发Push的个人见解图文并茂详细到我写的想吐!!!!!!!!!),这篇我们来讲讲如何进行开发测试。
工程中我们应该怎么写呢。
首先在AppDelegate类中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中加入如下代码,
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
这是注册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大功告成。!
Demo下载地址。测试工程
欢迎转载,转载请注明出处。http://www.cnblogs.com/yunis/p/4372453.html