iOS远程推送之获取deviceToken

这篇博客详细介绍了iOS远程推送的工作原理和实现步骤,包括如何生成AppleID、设置推送功能、创建证书,以及在应用程序中注册远程通知并获取deviceToken的过程。真机测试也得到了涵盖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

远程推送的原理就是:
1手机或者说苹果自动将用户的UDID 和应用的 AppID发送到APNs,APNs返回一个deviceToken给iOS设备,同一个手机不同的应用会生成不同的deviceToken,同一个手机同一个应用只生成一个deviceToken;
2手机端将deviceToken发送到自己公司的后台服务器,用以保存;
3当后台需要推送消息给用户时,服务器将需要推送的消息和deviceToken传输给APNs;
**4**APNs将消息推送给指定的deviceToken对应的手机;
5用户接收消息;

步骤:
生成AppleID,生成推送用的生产证书(测试环境使用的)和发布证书(正式环境使用的),生成一个测试证书
1生成AppleID:
打开开发者中心,登陆账号;选择最左侧的AppleID
自己取个名字,要记住你起的名字
起个ID名,要记住你起的名字
点击下一步呀,继续呀,submit呀,done呀等完成这一步的操作;
2上一步创建的AppleID的证书是没有push功能的,
Push Notification后面是disabled
这一步就是给AppleID加上此功能
上一张图片有一个edit按钮,选中,这是没选中的
这是选中的
到这一步先放一放;
打开钥匙串,钥匙串访问——>证书助理——>从证书颁发机构请求证书,然后打开如下界面,
填写自己邮箱
回到刚才我们停滞的页面
这里有两个create certificate…,先选第一个,下一步,chooseFiles 然互选择刚才从钥匙串生成的证书,然后点生成generate,点下载;这样一个推送的开发证书就生成了;同样的道理生成push的发布证书;右边的发布证书还是黄色的

选iOSAPPDevelopment
选刚才的appID
选择自己的开发证书,如果没有自己去生成下载,本博文最后有生成方法
选择自己测试要用的手机
然后将下载下来的证书安装到钥匙串中,双击就好了,会在钥匙串的我的证书界面看到添加进去的证书,然后进去xcode工程;
将xcode中工程的info信息的bundleID改为生成appID时的bundleID
在工程中的的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);
    }
    真机测试:
    好的啦

前面提到的如果没有调试证书就新生成一个,一下为新生成方法这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值