近一次弄推送遇到的问题

好久没有单独弄推送这块啦,连申请证书都很不熟悉啦,最近确实也变化了一些,特别是 iOS 10 以后,特此记录下。

  • 推送证书中新增选项的区别
  • 推送时entitlements文件 的增加
  • 下载的证书没有密钥
  • P 12 转 PEM
  • 推送开关何时打开
  • 证书没匹配的的bug
1、Apple Push Notification Authentication Key (Sandbox & Production)Apple Push Notification service SSL (Sandbox & Production) 选项的区别

在生产环境下,push 推送出现下面两个选项,

Apple Push Notification Production

记得以前都是直接选下一个选项的,当然现在推送时也是一样的选下面那个。而对于这个新的选项( Authentication Key)又是什么意思呢?

生成的key

使用它后,可以为我们提供一个 key 给后台,避免我们的推送证书过期的问题 ,它是说这样设置后永远不会过期,除非我们删掉它,但是目前还没用过!

2、注意推送需要增加一个entitlements文件
注意这两步骤,特别是第二步

**appName.entitlements **
在targets->Capabilities->Push Notifications中打开推送,然后系统会自动帮你写入.entitlements文件,所以不需要自己去手动加。需要注意的是,有人遇到过.entitlements文件没有被加入工程的,这也会产生问题,需要手动把.entitlements加入工程。

<key>aps-environment</key>
<string>development</string>
// <string>production</string>
开发环境下
正式环境下
3、下载的证书没有密钥
下面那个就是没有密钥的情况,上面那个是有密钥的情况

遇到这种情况,通常有两种方式:

  • 自己重新申请一次证书,不管这个证书了
  • 找到申请证书的Mac 会有秘钥,然后就会有了

然而我却是用了我另一个同事的账号和电脑就行了,暂时还不清楚是什么原因,因为之前申请证书的账号和Mac 我并不清楚,但是我发现在那有密钥,此处还有点疑问...

4、 P 12 转 PEM

下载好证书后(分为开发版和正式版)(develop.cer & production.cer), 然后导出 p12。

我记得我之前只要将 cer.p12 给我们后台就好了。
现在却要传两个,需要通过 钥匙链分别导出 cer.p12 和 keyCer.p12

上为证书下为密钥
  • cer.p12 == > cer.pem
openssl pkcs12 -clcerts -nokeys -out cer.pem -in cer.p12
  • keyCer.p12 ==> keyCer.pem
openssl pkcs12 -nocerts -out keyCer.pem -in keyCer.p12 
  • 合并 cer.pem 和 keyCer.pem == > needCer.pem
cat cer.pem keyCer.pem > needCer.pem

然后将 needCer.pem 发给后台,并告诉密码就好了

详细可以看 导出 p12 或 pem 文件,但不要输入错误,像我不小心输入错了,关键是还没提示,最后终于坑了一把我们后台。

5、推送开关何时打开

一般来说,我们设置是推送是重新发版本的时候才打开的,或者说打开推送开关后。

而我这次遇到的这个问题是:测试在不断切换版本时,发现推送不了。实际原因就是推送的开关的,也就是那个我们系统的弹出框 “问你是否允许打开推送的那个开关”,才是真正启动推送接口的问题。

typedef NS_OPTIONS(NSUInteger, UIUserNotificationType) {
    UIUserNotificationTypeNone    = 0,      // the application may not present any UI upon a notification being received
    UIUserNotificationTypeBadge   = 1 << 0, // the application may badge its icon upon a notification being received
    UIUserNotificationTypeSound   = 1 << 1, // the application may play a sound upon a notification being received
    UIUserNotificationTypeAlert   = 1 << 2, // the application may display an alert upon a notification being received
}
 [[UIApplication sharedApplication] currentUserNotificationSettings].types

当然直接保存一个本地 deviceToken , 然后判断 deviceToken 是否存在也可以作为打开推送开关的问题解决,毕竟服务器只要这个 deviveToken 的。

另外以下几种情景最好更新下信息上传给给服务器:

  • 第一次启动时
  • 更换 用户 ID 时
  • 第一次启动不允许通知,后面重新打开通知开关时
  • 更新版本时

这是我们推送,在设置定制化时需要做的。

6、一个打包时遇到

No suitable application records were found. Verify your bundle identifier 'xx' is correct

原因是: 自己的账号和公司的账号混淆了,需要转换下!

备注参考:
https://eladnava.com/send-push-notifications-to-ios-devices-using-xcode-8-and-swift-3/
http://www.saitjr.com/ios/ios-export-remote-notification-p12-pem-file.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容