我使用適用於iOS的Xamarin.InAppPurchases插件。基本上,如果用戶沒有登錄到iTunes,對InAppPurchaseManager.RestorePreviousPurchases的調用不會觸發登錄提示。我看着反彙編,看到它基本上正在運行一些檢查,然後調用內部恢復購買。我修改了我的代碼。有誰知道調用RestoreCompletedTransactions帶和不帶字符串名稱標識符的含義嗎?當這樣調用時,會出現提示。在iOS上使用Xamarin.InAppPurchases恢復購買
//Forced to call this in order to trigger login
SKPaymentQueue.DefaultQueue.RestoreCompletedTransactions();
//Redundant, but I don't know the implications of removing it
inAppPurchaseManager.RestorePreviousPurchases();
湯姆格蘭維爾的頂端評論似乎表明他有同樣的問題。 https://components.xamarin.com/view/xamarin.inapppurchase
編輯 - 我相信這是Xamarin中的一個錯誤。我在這裏發佈了這個bug:Bugzilla 53100我提出了一個解決方法,它涉及到調用收據API。它似乎適用於所有情況。