Pārlūkot izejas kodu

3.6.8(1)修正周会员情况下,苹果支付自动回调,引发的错误流程

100Years 2 nedēļas atpakaļ
vecāks
revīzija
43596032e8

BIN
.DS_Store


+ 4 - 4
AIEmoji.xcodeproj/project.pbxproj

@@ -2512,7 +2512,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 6;
+				CURRENT_PROJECT_VERSION = 1;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;
@@ -2528,7 +2528,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 3.6.7;
+				MARKETING_VERSION = 3.6.8;
 				PRODUCT_BUNDLE_IDENTIFIER = com.girl.music.wallpaper;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -2551,7 +2551,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 6;
+				CURRENT_PROJECT_VERSION = 1;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;
@@ -2567,7 +2567,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 3.6.7;
+				MARKETING_VERSION = 3.6.8;
 				PRODUCT_BUNDLE_IDENTIFIER = com.girl.music.wallpaper;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";

+ 16 - 1
AIEmoji/Business/TSPurchaseMembershipVC/TSPurchaseVC.swift

@@ -35,6 +35,7 @@ class TSPurchaseVC: TSBaseVC {
         return purchaseManager
     }()
     
+    private var isHandlePurchaseStateChanged = true //是否处理购买状态变化
     
     func createImageScroll(imageName:String,direction:ImagesAnimateScrollView.`Direction`)->ImagesAnimateScrollView{
         let imageScroll1: ImagesAnimateScrollView = ImagesAnimateScrollView()
@@ -98,6 +99,12 @@ class TSPurchaseVC: TSBaseVC {
     }
     
     override func dealThings() {
+        
+        //周会员不自动处理变化,必须点击购买后才处理
+        if purchaseManager.vipType == .week {
+            isHandlePurchaseStateChanged = false
+        }
+
         addNotifaction()
         onPurchaseStateChanged()
         NotificationCenter.default.addObserver(forName: .kPurchasePrepared, object: nil, queue: OperationQueue.main) { [weak self] _ in
@@ -113,6 +120,7 @@ class TSPurchaseVC: TSBaseVC {
             guard let self = self else {
                 return
             }
+            isHandlePurchaseStateChanged = true
             PurchaseManager.default.pay(for: self.viewModel.selectedType)
         }.store(in: &cancellabel)
 
@@ -138,7 +146,9 @@ class TSPurchaseVC: TSBaseVC {
 
         }.store(in: &cancellabel)
 
-        viewModel.restorePublisher.receive(on: DispatchQueue.main).sink { _ in
+        viewModel.restorePublisher.receive(on: DispatchQueue.main).sink { [weak self] _ in
+            guard let self = self else { return }
+            isHandlePurchaseStateChanged = true
             PurchaseManager.default.restorePremium()
         }.store(in: &cancellabel)
     }
@@ -148,6 +158,11 @@ class TSPurchaseVC: TSBaseVC {
         purchaseManager.onPurchaseStateChanged = { [weak self] manager,state,object in
             guard let self = self else { return }
         
+            if isHandlePurchaseStateChanged == false {
+                debugPrint("purchaseManager.onPurchaseStateChanged 不处理")
+                return
+            }
+            
             DispatchQueue.main.async {
                 switch state {
                 case .none: