您的位置:首页 > 移动开发 > IOS开发

iOS远程推送之获取deviceToken

2015-09-08 00:20 567 查看
远程推送的原理就是:

1手机或者说苹果自动将用户的UDID 和应用的 AppID发送到APNs,APNs返回一个deviceToken给iOS设备,同一个手机不同的应用会生成不同的deviceToken,同一个手机同一个应用只生成一个deviceToken;

2手机端将deviceToken发送到自己公司的后台服务器,用以保存;

3当后台需要推送消息给用户时,服务器将需要推送的消息和deviceToken传输给APNs;

**4**APNs将消息推送给指定的deviceToken对应的手机;

5用户接收消息;

步骤:

生成AppleID,生成推送用的生产证书(测试环境使用的)和发布证书(正式环境使用的),生成一个测试证书

1生成AppleID:

打开开发者中心,登陆账号;






点击下一步呀,继续呀,submit呀,done呀等完成这一步的操作;

2上一步创建的AppleID的证书是没有push功能的,



这一步就是给AppleID加上此功能

上一张图片有一个edit按钮,选中,




到这一步先放一放;

打开钥匙串,钥匙串访问——>证书助理——>从证书颁发机构请求证书,然后打开如下界面,



回到刚才我们停滞的页面


这里有两个create certificate…,先选第一个,下一步,chooseFiles 然互选择刚才从钥匙串生成的证书,然后点生成generate,点下载;这样一个推送的开发证书就生成了;同样的道理生成push的发布证书;










然后将下载下来的证书安装到钥匙串中,双击就好了,会在钥匙串的我的证书界面看到添加进去的证书,然后进去xcode工程;



在工程中的的Appdelegate.m中的

- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions{

- //注册远程通知服务

[application registerUserNotificationSettings:[UIUserNotificationSettings

settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge)

categories:nil]];

[[UIApplication sharedApplication]registerForRemoteNotifications];

}

(void)application:(UIApplication )application didRegisterForRemoteNotificationsWithDeviceToken:(NSData )deviceToken{

//获取deviceToken

NSLog(@”注册远程推送成功——————%@”,deviceToken);

}

真机测试:



前面提到的如果没有调试证书就新生成一个,一下为新生成方法


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: