teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記

2021/01/20 13:17

投稿

Hayato1201
Hayato1201

スコア232

title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,46 @@
11
11
  ③ SwiftyStoreKit.restorePurchases でリストアができる様ですが、こちらでリストアした場合、例えば一ヶ月プランで半月後にリストアした、という様な時には正しくさらに半月後にverifySubscription で expired とされるのでしょうか?
12
12
 
13
13
 
14
- 3つ質問を出してしまいましたが、どれか1つでも結構ですのでご存知の方いらっしゃいましたらご教授ください。
14
+ 3つ質問を出してしまいましたが、どれか1つでも結構ですのでご存知の方いらっしゃいましたらご教授ください。
15
+
16
+
17
+ ------- 追記 -----------
18
+  
19
+ 下記 verifySubscription を行うメソッドを追記しました。
20
+
21
+
22
+ ```Swift
23
+ func verifyPurchase (with PRODUCT_ID:String) {
24
+
25
+ let appleValidator = AppleReceiptValidator(service: .production, sharedSecret: "sharedSecret" )
26
+ SwiftyStoreKit.verifyReceipt(using: appleValidator) {(result) in
27
+
28
+ switch result {
29
+
30
+ case .success(let receipt):
31
+
32
+ //自動更新
33
+ let purchaseResult = SwiftyStoreKit.verifySubscription(ofType: .autoRenewable, productId: PRODUCT_ID, inReceipt: receipt)
34
+
35
+ switch purchaseResult {
36
+
37
+ case .purchased:
38
+ UserDefaults.standard.set(1, forKey: PRODUCT_ID)
39
+
40
+ case .notPurchased:
41
+ break
42
+
43
+ case .expired( _, _):
44
+ UserDefaults.standard.set(nil, forKey: PRODUCT_ID)
45
+ }
46
+
47
+ case .error(let error):
48
+ print (error)
49
+
50
+ }
51
+
52
+
53
+ }
54
+ }
55
+
56
+ ```