मैं आपकी समस्या iTunes कनेक्ट में सैंडबॉक्स उपयोगकर्ता खाते के साथ क्या करना है लगता है।
https://support.magplus.com/hc/en-us/articles/203809008-iOS-How-to-Test-In-App-Purchases-in-Your-App
आप सैंडबॉक्स उपयोगकर्ता है:: आप किसी भी सैंडबॉक्स उपयोगकर्ताओं की जरूरत नहीं है, तो इस गाइड वास्तव में सहायक उन्हें हो रही सेटअप था
आप तथापि finishTransaction:
कॉल करके देख सकते हैं, तो आप सुनिश्चित करने की आवश्यकता SKPaymentTransactionState
लेनदेन का स्वीकार्य है।
प्रलेखन प्रति finishTransaction
पर:
for transaction in SKPaymentQueue.default().transactions {
guard
transaction.transactionState != .purchasing,
transaction.transactionState != .deferred
else {
//Optionally provide user feedback for pending or processing transactions
return
}
//Transaction can now be safely finished
SKPaymentQueue.default().finishTransaction(transaction)
}
.purchasing
और .deferred
पर प्रलेखन काफी अस्पष्ट है:
case purchasing // Transaction is being added to the server queue.
case deferred // The transaction is in the queue, but its final status is pending external action.
क्या से
// Asynchronous.
// Remove a finished (i.e. failed or completed) transaction from the queue.
// Attempting to finish a purchasing transaction will throw an exception.
तो सुरक्षित रूप से लेन-देन को दूर करने के मैं समझता हूं, हैंडलिंग लंबित और/या प्रसंस्करण लेनदेन काफी निष्क्रिय होना चाहिए। ऐप ने जो कुछ भी जरूरी है वह किया है और आईट्यून्स स्टोर सर्वर, या कुछ अन्य निर्भरता (यानी भुगतान प्राधिकरण) से प्रतिक्रिया पर इंतजार कर रहा है। लेनदेन अपडेट होने पर
paymentQueue: updatedTransactions:
कतार के SKPaymentTransactionObserver
पर कॉल किया जाएगा।
जहां तक आपकी लेनदेन कतार लिम्बो में फंस गई है, मैं शर्त लगाता हूं कि आपकी कतार में सभी लेनदेन राज्य .purchasing
में हैं। यह आईट्यून्स कनेक्ट/सैंडबॉक्स उपयोगकर्ताओं/उत्पादन आईट्यून्स खातों के भीतर सबसे अधिक संभावना है। दूसरों सहित, मेरे पास भी इस मुद्दे का सामना करना पड़ा है। इसके लिए दायर एक बग रिपोर्ट है। अपने सैंडबॉक्स उपयोगकर्ता के पासवर्ड को दोबारा बदलने/बदलने का प्रयास करें, या परीक्षण के लिए एक नया सैंडबॉक्स उपयोगकर्ता बनाएं।
अधिक यहाँ जानकारी: https://forums.developer.apple.com/thread/70418
सुझाव कर सके क्या एक अच्छा अभ्यास कार्यान्वयन हो सकता है? –
@ZivLevy मैं सिर्फ 'लेनदेन' में सभी लेनदेन लॉग करता हूं इसलिए मैंने खुद को बताया कि उन्हें हटा दिया गया था। – DDPWNAGE