App Store調用paymentQueue並每次自動更新時發佈一個事務。該事務與transaction.transactionState == SKPaymentTransactionStateRestored一起發佈。
問題是,不幸的是這隻會發布到一個設備。第二個設備沒有獲得發佈。因此,要檢測自動更新,或者更確切地說,要檢測缺少自動更新並拒絕任何持續訂閱的設備,您必須執行restoreCompletedTransaction或「http發佈包含最後事務的64位編碼JSON」。如果來了,用戶需要給他們的密碼;正如你指出的那樣,這是侵入性的。如果是後者,則需要大量額外的編碼。所以,在回答你的問題時,我的問題是......爲什麼StoreKit沒有命令:
(不存在) - [[SKPaymentQueue defaultQueue] restoreAttachedTransactions:(NSArray *)transactions];
此命令將像restoreCompletedTransactions一樣流動,但它只會恢復附加的事務,最重要的是,它不需要用戶登錄。它具有與「http發佈包含最後事務的64位編碼JSON相同的安全保護」,它允許在StoreKit中完成整個In App Purchase過程,而不需要網絡發佈代碼。
如果這對你有意義,請建議如何讓這個給蘋果....謝謝。
好主意。我希望蘋果允許它。 – 2011-04-10 04:12:07