https://www.jianshu.com/p/213641cf524ahtml
https://www.jianshu.com/p/f9bef7e7a4ab服務器
http://www.javashuo.com/article/p-bpkjuvar-km.html網絡
PushKit是一種新的消息通知方式,旨在幫助voip應用(iOS 8)和watch OSComplication(iOS 9)減小電池的使用,提供更好的用戶體驗,app能夠經過PushKit進行喚醒,進行一些操做,而不被用戶感知。併發
實驗結果:
1)APP在前臺,收到PushKit推送後,發送本地推送,APP不提示;(與其餘remote notification一致);
2)APP在後臺,或者被closed的狀態下,都能收到PushKit推送,併發出本地推送。我在另一個稍微複雜點的測試中,在收到PushKit推送和發送本地推送之間,加入了根據message id在服務器獲取消息具體內容的操做,也是正常的,可見在APP closed時,由PushKit推送調起的網絡訪問也是正常的。
3)APNs silent push優先級最低,而後是APNs普通推送,優先級最高的是PushKit推送。
4)APNs silent push和PushKit推送都能在APP處於後臺的時候,喚醒APP,運行30s,不一樣的是silent push在APP closed(用戶手動killed,手機重啓或者APP被系統回收)時不能喚醒APP,現象就是APP沒有反應,而PushKit在APP closed的時候,仍然可以喚醒APP,執行一段代碼。app
猜想,在APP closed狀態下,系統收到silent push後其實有能力執行APP的一段代碼,只不過silent push優先級低,因此被忽略了~測試