應用送出蘋果測試之前一般都會在沙盒環境裡進行測試充值。用沙盒的測試帳号進行充值的時候服務端拿到蘋果傳回的receipt-data後向蘋果服務端進行校驗的時候如果傳回錯誤碼21007則再去沙盒環境去驗證。
而最近一次送出的時候背景log發現拿到用戶端提供的串向蘋果伺服器校驗的時候傳回的是21002不是預期的21007而打包檢查充值那一塊并沒有任何的變更背景排查發現可能是用的第三方庫它用的是舊版本的Xcode生成的而我們這次送出的包用的是最新的7.3 Xcode生成的。重新編譯第三方庫之後再進行測試發現一切正常了傳回預期的21007然後去沙盒驗證就通過了。附上蘋果充值驗證傳回的錯誤碼
<a href="https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html" target="_blank">https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html</a>
