推送平臺(tái):AVOS(LeanCloud)
問(wèn)題描述:項(xiàng)目前一個(gè)版本用的也是AVOS,推送正常,但是發(fā)布在testflight上的新版本突然發(fā)現(xiàn)收不到推送。
解決問(wèn)題步驟:(由于前一個(gè)版本能正常收到推送,證書(shū)一系列相關(guān)檢查這里不再贅述,可自行百度)
(1)到LeanCloud平臺(tái)查看推送記錄,是推送成功的,推送目標(biāo)是1,到達(dá)數(shù)也是1,但是客戶(hù)端就是收不到推送。
(2)讓公司打包人員,重新打包,(感覺(jué)是打包人員,打包是沒(méi)有選擇正確的權(quán)限,因?yàn)楸竟鹃_(kāi)發(fā)和打包人員是分開(kāi)的)。結(jié)果重新打包后,還是收不到。
(3)檢查打包時(shí)推送的配置文件XXXX.entitlements(授權(quán)機(jī)制),發(fā)現(xiàn)是空的,如圖所示

5A56E37F-EE0B-49D9-A5F0-FBA5D4060053.png
問(wèn)題來(lái)了:
如果這個(gè)是空的,設(shè)備是無(wú)法獲取到推送、Group、App沙盒(MAC端)的權(quán)限的,即使已經(jīng)開(kāi)了通知,彈出了通知詢(xún)問(wèn)彈框,依然無(wú)效。
關(guān)于Entitlements (授權(quán)機(jī)制) ,可查看Entitlements (授權(quán)機(jī)制)
解決問(wèn)題:在打包同事那里,將我當(dāng)時(shí)生成的.entitlements文件刪除,關(guān)閉通知等權(quán)限,重新打開(kāi),生成新的文件,并且Build Setting里面保持一致名稱(chēng),重新打包即可
如圖
生成的文件

1E526D313DFEF101F076631173B8DE75.png
文件里面的具體權(quán)限是自己配置的,如圖是我們項(xiàng)目中開(kāi)通的通知、獲取WiFi名稱(chēng)和Groups權(quán)限(這些權(quán)限在生成證書(shū)時(shí)也要配置的,具體自行百度)

E27BCC62-3111-4D74-8278-D8A235F0CC1C.png
Build Setting配置

7B306F2791A2FF7EBB245971FD61A222.png
如果項(xiàng)目中含有通知拓展,需要與上面同樣的配置即可。
以上是自己解決問(wèn)題的過(guò)程,如有問(wèn)題歡迎指出。