Slide 32
Slide 32 text
class PaymentTransactionObserver: NSObject, SKPaymentTransactionObserver {
static let shared = PaymentTransactionObserver()
private let queue = SKPaymentQueue.default()
private override init() {
super.init()
NotificationCenter.default.addObserver(
self,
selector: #selector(self.didFinishLaunchingNotification),
name: UIApplication.didFinishLaunchingNotification,
object: nil
)
NotificationCenter.default.addObserver(
self,
selector: #selector(self.willTerminate),
name: UIApplication.willTerminateNotification,
object: nil
)
}
deinit {
NotificationCenter.default.removeObserver(self)
}
@objc private func didFinishLaunchingNotification() { queue.add(self) }
@objc private func willTerminate() { queue.remove(self) }
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions
transactions: [SKPaymentTransaction]) {
// Handle transaction states here.
}
}