2014-02-24 241 views
0

距離iOS 6的(SKPaymentTransaction)這個代碼相當於transaction.transactionReceipt.bytes

transaction.transactionReceipt.bytes 

完全等效於該透過iOS 7?

[NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]] 

內容方面?

謝謝

+1

您是否詢問iOS6的收據與iOS7的收據內容是否相同? –

+0

是的,如果第一行獲得的NSData與第二行獲得的NSData相同。 – SpaceDog

回答

1

iOS6和iOS7的收據是不同的。爲了提高安全性,Apple在iOS7中改變了收據格式。看看:Can Purely On-Device In-App Purchase Receipt Validation Be Done With iOS6?iOS7 - receipts not validating at sandbox - error 21002 (java.lang.IllegalArgumentException)

如果您正在討論在iOS7上使用這兩種方法,那麼在我的測試中,都會返回iOS7樣式的收據。然而,我不確定收據是否是逐字節相同的。

請注意,iOS7中不推薦使用transactionReceipt。

+0

*請注意,transactionReceipt已在iOS7中棄用*。這就是爲什麼我要求... :) – SpaceDog

+0

我花了很長時間才弄清楚收據格式不同。我發現它在文檔中陳述得不夠清楚。正如你所說,對於文檔來說,雖然不推薦使用,但在iOS7中transactionReceipt返回的東西完全不同! –

+0

是的,這就是我問過的原因。蘋果因模糊,蹩腳或不完整的文檔而出名,或者所有這三個文件一起出現。我討厭他們寫過的每一份文件。如果不是這樣的網站,大部分程序員將無法編寫一行代碼。 – SpaceDog