近一次弄推送遇到的問題

好久沒有單獨弄推送這塊啦瘫析,連申請證書都很不熟悉啦,最近確實也變化了一些濒憋,特別是 iOS 10 以后,特此記錄下陶夜。

  • 推送證書中新增選項的區(qū)別
  • 推送時entitlements文件 的增加
  • 下載的證書沒有密鑰
  • P 12 轉(zhuǎn) PEM
  • 推送開關(guān)何時打開
  • 證書沒匹配的的bug
1凛驮、Apple Push Notification Authentication Key (Sandbox & Production)Apple Push Notification service SSL (Sandbox & Production) 選項的區(qū)別

在生產(chǎn)環(huán)境下,push 推送出現(xiàn)下面兩個選項条辟,

Apple Push Notification Production

記得以前都是直接選下一個選項的黔夭,當然現(xiàn)在推送時也是一樣的選下面那個宏胯。而對于這個新的選項( Authentication Key)又是什么意思呢?

生成的key

使用它后本姥,可以為我們提供一個 key 給后臺肩袍,避免我們的推送證書過期的問題 ,它是說這樣設(shè)置后永遠不會過期婚惫,除非我們刪掉它氛赐,但是目前還沒用過!

2先舷、注意推送需要增加一個entitlements文件
注意這兩步驟艰管,特別是第二步

**appName.entitlements **
在targets->Capabilities->Push Notifications中打開推送,然后系統(tǒng)會自動幫你寫入.entitlements文件蒋川,所以不需要自己去手動加牲芋。需要注意的是,有人遇到過.entitlements文件沒有被加入工程的尔破,這也會產(chǎn)生問題街图,需要手動把.entitlements加入工程。

<key>aps-environment</key>
<string>development</string>
// <string>production</string>
開發(fā)環(huán)境下
正式環(huán)境下
3懒构、下載的證書沒有密鑰
下面那個就是沒有密鑰的情況餐济,上面那個是有密鑰的情況

遇到這種情況,通常有兩種方式:

  • 自己重新申請一次證書胆剧,不管這個證書了
  • 找到申請證書的Mac 會有秘鑰絮姆,然后就會有了

然而我卻是用了我另一個同事的賬號和電腦就行了,暫時還不清楚是什么原因秩霍,因為之前申請證書的賬號和Mac 我并不清楚篙悯,但是我發(fā)現(xiàn)在那有密鑰,此處還有點疑問...

4铃绒、 P 12 轉(zhuǎn) PEM

下載好證書后(分為開發(fā)版和正式版)(develop.cer & production.cer), 然后導(dǎo)出 p12鸽照。

我記得我之前只要將 cer.p12 給我們后臺就好了。
現(xiàn)在卻要傳兩個颠悬,需要通過 鑰匙鏈分別導(dǎo)出 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 發(fā)給后臺矮燎,并告訴密碼就好了

詳細可以看 導(dǎo)出 p12 或 pem 文件,但不要輸入錯誤赔癌,像我不小心輸入錯了诞外,關(guān)鍵是還沒提示,最后終于坑了一把我們后臺灾票。

5峡谊、推送開關(guān)何時打開

一般來說,我們設(shè)置是推送是重新發(fā)版本的時候才打開的,或者說打開推送開關(guān)后既们。

而我這次遇到的這個問題是:測試在不斷切換版本時濒析,發(fā)現(xiàn)推送不了。實際原因就是推送的開關(guān)的贤壁,也就是那個我們系統(tǒng)的彈出框 “問你是否允許打開推送的那個開關(guān)”悼枢,才是真正啟動推送接口的問題。

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 是否存在也可以作為打開推送開關(guān)的問題解決脾拆,畢竟服務(wù)器只要這個 deviveToken 的馒索。

另外以下幾種情景最好更新下信息上傳給給服務(wù)器:

  • 第一次啟動時
  • 更換 用戶 ID 時
  • 第一次啟動不允許通知,后面重新打開通知開關(guān)時
  • 更新版本時

這是我們推送名船,在設(shè)置定制化時需要做的绰上。

6、一個打包時遇到

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

原因是: 自己的賬號和公司的賬號混淆了渠驼,需要轉(zhuǎn)換下!

備注參考:
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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜈块,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子迷扇,更是在濱河造成了極大的恐慌百揭,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜓席,死亡現(xiàn)場離奇詭異器一,居然都是意外死亡,警方通過查閱死者的電腦和手機厨内,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門祈秕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雏胃,你說我怎么就攤上這事请毛。” “怎么了瞭亮?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵方仿,是天一觀的道長。 經(jīng)常有香客問我统翩,道長仙蚜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任唆缴,我火速辦了婚禮,結(jié)果婚禮上黍翎,老公的妹妹穿的比我還像新娘面徽。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布趟紊。 她就那樣靜靜地躺著氮双,像睡著了一般。 火紅的嫁衣襯著肌膚如雪霎匈。 梳的紋絲不亂的頭發(fā)上戴差,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音铛嘱,去河邊找鬼暖释。 笑死,一個胖子當著我的面吹牛墨吓,可吹牛的內(nèi)容都是我干的球匕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼帖烘,長吁一口氣:“原來是場噩夢啊……” “哼亮曹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秘症,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤照卦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后乡摹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體役耕,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年趟卸,在試婚紗的時候發(fā)現(xiàn)自己被綠了蹄葱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡锄列,死狀恐怖图云,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邻邮,我是刑警寧澤竣况,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站筒严,受9級特大地震影響丹泉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸭蛙,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一摹恨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娶视,春花似錦晒哄、人聲如沸睁宰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柒傻。三九已至,卻和暖如春较木,著一層夾襖步出監(jiān)牢的瞬間红符,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工伐债, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留预侯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓泳赋,卻偏偏與公主長得像雌桑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子祖今,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容