1、提交了.p12文件后多久可以測試?
提交后10分鐘左右才可以測試,并不是立即生效的。
2、應(yīng)用在后臺時接收不到消息,即APNS消息接收不到?
- 先去查看CID和APPID綁定是否正確。
- 根據(jù)CID去查devicetoken,確認(rèn)CID和devicetoken綁定是否正確。
- 查看證書是否上傳錯誤
- 服務(wù)端推送的,請檢查離線時間是否設(shè)置。
3、devicetoken和Clientid綁定錯誤怎么辦?
原因如下:換證書環(huán)境后,devicetoken是變掉了,但是CID沒變導(dǎo)致不會立即重新綁定devicetoken(一般是24小時后會重新綁定),服務(wù)端記錄的還是原來的devicetoken。解決辦法如下:需要一個gxsdkconfig.plist文件重新放在工程中,打包,卸載原來的應(yīng)用并重新安裝。CID變化了會重新綁定devicetoken,這樣綁定就不會有問題了。
4、在發(fā)布到appstroe時,證書環(huán)境需要更換嗎?
- 開發(fā)的時候需要上傳開發(fā)證書,開發(fā)測試OK后,發(fā)布到appstore之前,需要把證書更換成生產(chǎn)證書,證書更換后10分鐘左右生效。
- 蘋果設(shè)備上,CID是唯一的,一般不會變化,一般不建議重新生成CID。
- 如果CID與deviceToken綁定錯誤,需要重新生成一個CID來方便測試的操作方法:需要gxsdkconfig.plist文件,重新打包,把原來應(yīng)用卸載重新安裝新打包的這個。
5、更換證書后,客戶端隔多久會重新綁定?
- 證書更換后, 過24小時才會重新綁定一次,這時devicetoken會變掉。24小時內(nèi)做測試的話,會因Clientid和devicetoken綁定問題導(dǎo)致消息接收不到,因為證書更換后的devicetoken變掉了但沒有更新到服務(wù)器,導(dǎo)致服務(wù)端查詢到的devicetoken是錯誤的。
6、無效的devicetoken問題
- 一般來說是證書環(huán)境的問題,更換證書環(huán)境導(dǎo)致的。
- 先看clientid和devicetoken綁定是否有問題。
- 查看本地的證書環(huán)境是否與平臺上傳的證書環(huán)境一致。
- 查看證書是否有過期。
6、為什么IOS客戶端會收到兩條一樣的消息?
- 是因為一個devicetoken綁定了兩個Clientid導(dǎo)致的。
- 因證書環(huán)境變更,導(dǎo)致Clientid與devicetoken綁定變化,但服務(wù)端的數(shù)據(jù)沒有更新,還是與舊的devicetoken綁定的。當(dāng)用plist文件獲取到新的clientid后,會重新綁定一下,這時新舊兩個clientid都會綁定到同一個devicetoken上。當(dāng)群推消息時,會根據(jù)clientid找到devicetoken進(jìn)行APNS發(fā)送,這時新舊兩個clientid都會發(fā)送一條數(shù)據(jù),導(dǎo)致客戶端會接收到兩條數(shù)據(jù)。
7、Tcp方式和http在性能上哪個比較好,各適用與哪個場景?
tcp是長鏈接,吞吐量更大,性能更好一些
tcp不支持toApp群推的
群推toApp用http方式的,因為只有一個請求
8、IOS平臺推送成功接收,服務(wù)端代碼推送toApp卻接收不到,返回AppIdNoUsers錯誤?
查看代碼里的phoneTypeList中添加的是否為IOS。要修改為add(“IOS”)
9、IOS簽名失敗的解決辦法:
問題描述:The applicationdoes not have a valid signature.
解決辦法:把BundleIdentifier 改成你自己的id,也就是說這里應(yīng)該填你們證書里面已經(jīng)申請的那個應(yīng)用id。
10、生產(chǎn)證書下怎么獲取devicetoken?
生產(chǎn)證書不能在Xcode里進(jìn)行聯(lián)機debug,要先把應(yīng)用包打出來,安裝在手機上,然后在Xcode的origanizer->device選擇你的設(shè)置,然后在consloe里查看日志,devicetoken和clientid都會打印出來的。
11、關(guān)于ios8的通知功能:
1.如果使用ios8sdk編譯,需要使用新的registerForRemoteNotifications/registerUserNotificationSettings接口,否則無法獲取devicetoken
2.如果使用ios8以前的sdk編譯,接口無需變動,直接使用老版本的registerForRemoteNotifications接口即可
12、收到通知后,點擊通知欄后怎么讓這條通知在通知欄里消失。
這個通知本來是不會清掉的,需要客戶端自己寫代碼才能清掉,可以參考這里 http://www.cocoachina.com/ask/questions/show/99491