annotate Simoleon/AppDelegate.swift @ 161:3913aff613e8

Fix bug that didn't request API on symbol change
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Tue, 31 Aug 2021 10:57:34 +0100
parents 1f657241c28f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
76
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // AppDelegate.swift
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // Simoleon
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 31/7/21.
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import SwiftUI
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9 import Purchases
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11 // Add an AppDelegate to a SwiftUI app
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 class AppDelegate: NSObject, UIApplicationDelegate, PurchasesDelegate {
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 // Set delegate to Purchases
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 func application(
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 _ application: UIApplication,
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 ) -> Bool {
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 Purchases.shared.delegate = self
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20 return true
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 }
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23 // Handle purchases started on the App Store
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24 func purchases(
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25 _ purchases: Purchases,
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 shouldPurchasePromoProduct product: SKProduct,
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 defermentBlock makeDeferredPurchase: @escaping RCDeferredPromotionalPurchaseBlock
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 ) {
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 makeDeferredPurchase { (transaction, purchaserInfo, error, userCancelled) in
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 if purchaserInfo?.entitlements["all"]?.isActive == true {
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31 print("Subscription purchased from App Store")
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
32 }
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
33 }
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34 }
1f657241c28f Implemented purchases from App Store
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35 }