那些年,我們一起走過的iOS推送的坑

2021-09-11 11:28:33 字數 2025 閱讀 9068

本文由信鴿工程師uwei提供。

那麼,整合推送需要注意些什麼

整合之後,怎樣確認自己是否正確整合了遠端訊息推送呢?

相信ios開發的同學對下圖來說是比較眼熟的:

以上就是xcode不同版本中關於推送的配置是不同的,表現如上,但是不同點具體在哪兒呢?

使用如下命令

security cms -d -i embedded.mobileprovision

但是關於archived-expanded-entitlements.xcent檔案,在不同的xcode版本中,檔案內容是不同的,具體看下圖

可以發現:

在使用xcode7.3.1版本進行打包開啟了遠端推送的工程的時候,工程中並不會自動建立target-entitlements檔案,進而archived-expanded-entitlements.xcent檔案中也就不會有aps-environment鍵值對的資訊。

在使用xcode8.3.2版本進行打包開啟了遠端推送的工程的時候,工程中會自動建立target-entitlements檔案,進而archived-expanded-entitlements.xcent檔案中也就會有aps-environment鍵值對的資訊。

問題描述:具體現象:

apr 21

17:53:53 uwei springboard(usernotificationsserver)[53]

(null). notifications will not be delivered.

apr 21

17:53:53 uwei dragon[3644] : joyyou-tencentmsdk ::: register remote notifications failed with error:

error domain=nscocoaerrordomain code=3000

第二步,驗證包

發現檔案中缺少aps-environment的鍵值對,而這正好符合與ios 10裝置的控制台看到的log相符:

production

而正確的內容應該如下:(舉例)

2.2. 使用文字工具開啟 archived-expanded-entitlements.xcent,內容是

引入原因:

unity裡面放了乙份entitlements檔案,匯出到xcode的時候沒有被識別到,所以每次xcode都生成乙個新的entitlements,導致部分資料丟失(aps-environment鍵值對)

解決辦法:

手動在entitlements檔案中新增aps-environment鍵值對

建議如果在工程**不存在ide版本相容問題的要求,請使用新版本xcode進行配置打包,然後在根據文件中提到的方法檢查ipa包。

最後簡單介紹ios apns的機制,讓我們了解訊息推送的整體流程,

第一步如下圖:

當需要生成乙個新的token時,apns會使用在裝置中的證書來建立,使用乙個token key來加密token,然後返回到裝置

整個apns訊息的推送流程,可以粗略概括為下圖:

那麼通過以上的介紹,推送出現問題的可能就可以歸納為以下:

開發環境中關於推送開關選項,推送許可權的檔案配置不正確

推送證書設定錯誤或者是證書過期失效等

device-token 未獲取到,或者是獲取到了device token,但是傳送給xg伺服器的姿勢不正

使用者裝置關閉了訊息推送,或者是裝置的網路連線有問題

針對ios平台的推送整合,信鴿ios開發團隊提供了【推送診斷工具】,可以在信鴿官網中【應用列表】->【應用配置】->【信鴿推送助手】

希望通過以上介紹,能夠讓團隊在使用推送技術的路上,少踩坑,少走彎路,多一點了解,多一點高效。

那些年我們office 那些年我們一起吃過的桑葉泡

五一放假,和弟弟一起回了老家,回家之後立馬拿著小籃子出門,去尋覓讓我心心念念的桑葉泡,這個季節正是它們成熟的時候。桑葉泡是我們家這邊的叫法,其實它還有很多的別稱,比如桑葚 桑椹 桑椹子 桑蔗 桑棗 桑果 桑泡兒,桑椹等其性味甘寒,具有補肝益腎 生津潤燥 烏髮明目 利尿保健 消暑等功效。但我們吃它並不...

那些年我們一起清除的浮動

方法一 after main warp自己閉合浮動了,所以footer不用再清除浮動了 float left side 我也浮動了 float left 為了建立跨瀏覽器相容的同樣的盒模型布局,我們可以把原來的清除浮動的方法改良一下,採用偽類 before 和 after clearfix befo...

那些年我們一起追的前端

此博文有毒,慎點!陽光夾雜著微風滲進了屋內,輕撫著坐在工位上的我,而此時的我是心懷愧疚的,因為我正在寫著一篇不那麼像技術文章的技術文章,而且還變成了赤裸裸的標題黨.對於此,我只能懇求您暫時收起板磚,容我慢慢道來,向您訴說這文章由來的前因,說完了,再拍我也不遲 時光如梭,轉眼間三個月過去.a很榮幸的接...