Procházet zdrojové kódy

【会员系统】AppStore内购相关内容补充

wanjun před 4 měsíci
rodič
revize
6fb4e781a8

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMToolCompareWindowController.swift

@@ -84,13 +84,13 @@ var currentWindowController: KMToolCompareWindowController? = nil
                 IAPProductsManager.default().restoreSubscriptions()
                 self.addWaingView(view: self.window?.contentView ?? NSView())
             } else if type == .month {
-                IAPProductsManager.default().make(IAPProductsManager.default().newlyMonthProduct)
+                IAPProductsManager.default().make(IAPProductsManager.default().allAccessPackNew6months_lite)
                 self.addWaingView(view: self.window?.contentView ?? NSView())
             } else if type == .oneTime {
 #if VERSION_DMG
                 self.verificationBuy()
 #else
-                IAPProductsManager.default().make(IAPProductsManager.default().allAccessProduct)
+                IAPProductsManager.default().make(IAPProductsManager.default().allAccessPackPermanent_lite)
                 self.addWaingView(view: self.window?.contentView ?? NSView())
 #endif
             }

+ 45 - 45
PDF Office/PDF Master/Class/Purchase/Appstore/KMPurchaseCompareWindowController.m

@@ -697,28 +697,28 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
     self.value1PurchaseBtnLblBtn.enabled = self.value1PurchaseButton.enabled;
     
     self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribe", nil);
-    if ([IAPProductsManager defaultManager].newlyMonthProduct.isTrialPeriod) {
+    if ([IAPProductsManager defaultManager].allAccessPackNew6months_lite.isTrialPeriod) {
         self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribe", nil);
-        if ([IAPProductsManager defaultManager].newlyMonthProduct.isSubscribed) {
+        if ([IAPProductsManager defaultManager].allAccessPackNew6months_lite.isSubscribed) {
             self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribed", nil);
         }
-    } else if ([IAPProductsManager defaultManager].yearProduct.isTrialPeriod) {
+    } else if ([IAPProductsManager defaultManager].allAccessPack12months_lite.isTrialPeriod) {
         self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribe", nil);
-        if ([IAPProductsManager defaultManager].yearProduct.isSubscribed) {
+        if ([IAPProductsManager defaultManager].allAccessPack12months_lite.isSubscribed) {
             self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribed", nil);
         }
     } else {
-        if ([IAPProductsManager defaultManager].newlyMonthProduct.isSubscribed) {
+        if ([IAPProductsManager defaultManager].allAccessPackNew6months_lite.isSubscribed) {
             self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribed", nil);
-        } else if ([IAPProductsManager defaultManager].yearProduct.isSubscribed) {
+        } else if ([IAPProductsManager defaultManager].allAccessPack12months_lite.isSubscribed) {
             self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribed", nil);
         } else {
             self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Free Trial", nil);
             if (@available(macOS 10.13.2, *)) {
 #if !VERSION_DMG
-                if (![IAPProductsManager defaultManager].newlyMonthProduct.product.introductoryPrice) {
+                if (![IAPProductsManager defaultManager].allAccessPackNew6months_lite.product.introductoryPrice) {
                     self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribe", nil);
-                } else if (![IAPProductsManager defaultManager].yearProduct.product.introductoryPrice) {
+                } else if (![IAPProductsManager defaultManager].allAccessPack12months_lite.product.introductoryPrice) {
                     self.value1PurchaseBtnLbl.stringValue = NSLocalizedString(@"Subscribe", nil);
                 }
 #endif
@@ -739,53 +739,53 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
     NSString *averageMonthPrice_discount = nil;
     NSString *monthPrice_discount = nil;
     NSString *allPrice = nil;
-    if ([IAPProductsManager defaultManager].newlyMonthProduct.isOffers) {
+    if ([IAPProductsManager defaultManager].allAccessPackNew6months_lite.isOffers) {
         self.specialView1.hidden = NO;
-        averageMonthPrice = [IAPProductsManager defaultManager].newlyMonthProduct.offersAveragePrice;
-        monthPrice = [IAPProductsManager defaultManager].newlyMonthProduct.offersPrice;
-        averageMonthPrice_discount = [IAPProductsManager defaultManager].newlyMonthProduct.discountAveragePrice;
-        monthPrice_discount = [IAPProductsManager defaultManager].newlyMonthProduct.discountPrice;
+        averageMonthPrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.offersAveragePrice;
+        monthPrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.offersPrice;
+        averageMonthPrice_discount = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.discountAveragePrice;
+        monthPrice_discount = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.discountPrice;
         self.topButtonOffset.constant = 20;
-    } else if ([IAPProductsManager defaultManager].yearProduct.isOffers) {
-        averageMonthPrice = [IAPProductsManager defaultManager].yearProduct.offersAveragePrice;
-        monthPrice = [IAPProductsManager defaultManager].yearProduct.offersPrice;
-        averageMonthPrice_discount = [IAPProductsManager defaultManager].yearProduct.discountAveragePrice;
-        monthPrice_discount = [IAPProductsManager defaultManager].yearProduct.discountPrice;
+    } else if ([IAPProductsManager defaultManager].allAccessPack12months_lite.isOffers) {
+        averageMonthPrice = [IAPProductsManager defaultManager].allAccessPack12months_lite.offersAveragePrice;
+        monthPrice = [IAPProductsManager defaultManager].allAccessPack12months_lite.offersPrice;
+        averageMonthPrice_discount = [IAPProductsManager defaultManager].allAccessPack12months_lite.discountAveragePrice;
+        monthPrice_discount = [IAPProductsManager defaultManager].allAccessPack12months_lite.discountPrice;
         self.topButtonOffset.constant = 20;
     } else {
         self.specialView1.hidden = YES;
         if (self.isPurchaseSwitch == false) {
-            averageMonthPrice = [IAPProductsManager defaultManager].newlyMonthProduct.averagePrice;
-            monthPrice = [IAPProductsManager defaultManager].newlyMonthProduct.price;
-            averageMonthPrice_discount = [IAPProductsManager defaultManager].newlyMonthProduct.discountAveragePrice;
-            monthPrice_discount = [IAPProductsManager defaultManager].newlyMonthProduct.discountPrice;
+            averageMonthPrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.averagePrice;
+            monthPrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.price;
+            averageMonthPrice_discount = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.discountAveragePrice;
+            monthPrice_discount = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.discountPrice;
         } else {
-            averageMonthPrice = [IAPProductsManager defaultManager].yearProduct.averagePrice;
-            monthPrice = [IAPProductsManager defaultManager].yearProduct.price;
-            averageMonthPrice_discount = [IAPProductsManager defaultManager].yearProduct.discountAveragePrice;
-            monthPrice_discount = [IAPProductsManager defaultManager].yearProduct.discountPrice;
+            averageMonthPrice = [IAPProductsManager defaultManager].allAccessPack12months_lite.averagePrice;
+            monthPrice = [IAPProductsManager defaultManager].allAccessPack12months_lite.price;
+            averageMonthPrice_discount = [IAPProductsManager defaultManager].allAccessPack12months_lite.discountAveragePrice;
+            monthPrice_discount = [IAPProductsManager defaultManager].allAccessPack12months_lite.discountPrice;
         }
         self.topButtonOffset.constant = 10;
     }
     
-    if ([IAPProductsManager defaultManager].allAccessProduct.isOffers) {
+    if ([IAPProductsManager defaultManager].allAccessPackPermanent_lite.isOffers) {
         self.topButtonOffset.constant = 20;
         self.specialView.hidden = NO;
-        allPrice = [IAPProductsManager defaultManager].allAccessProduct.offersPrice;
+        allPrice = [IAPProductsManager defaultManager].allAccessPackPermanent_lite.offersPrice;
     } else {
         self.topButtonOffset.constant = 10;
         self.specialView.hidden = YES;
-        allPrice = [IAPProductsManager defaultManager].allAccessProduct.price;
+        allPrice = [IAPProductsManager defaultManager].allAccessPackPermanent_lite.price;
     }
     
-    CGFloat off = 1 -[IAPProductsManager defaultManager].allAccessProduct.offers;
+    CGFloat off = 1 -[IAPProductsManager defaultManager].allAccessPackPermanent_lite.offers;
     NSString *offString = [NSString stringWithFormat:@"%.f%%",off * 100];
     self.specialLabel.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ off", @""),offString];
     
     if (self.isPurchaseSwitch) {
-        off = 1 -[IAPProductsManager defaultManager].yearProduct.offers;
+        off = 1 -[IAPProductsManager defaultManager].allAccessPack12months_lite.offers;
     } else {
-        off = 1 -[IAPProductsManager defaultManager].newlyMonthProduct.offers;
+        off = 1 -[IAPProductsManager defaultManager].allAccessPackNew6months_lite.offers;
     }
     offString = [NSString stringWithFormat:@"%.f%%",off * 100];
     self.specialLabel1.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ off", @""),offString];
@@ -850,15 +850,15 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
         tTips = [NSString stringWithFormat:NSLocalizedString(@"Billed every 6 months at %@ after 7-day trial ends.", nil), monthPrice];
 #if !VERSION_DMG
         if (self.isPurchaseSwitch) {
-            if ([IAPProductsManager defaultManager].yearProduct.product) {
+            if ([IAPProductsManager defaultManager].allAccessPack12months_lite.product) {
                 if (@available(macOS 10.13.2, *)) {
-                    tTips = [NSString stringWithFormat:NSLocalizedString(@"Billed every 12 months at %@ after %@-day trial ends.", nil), monthPrice,@([IAPProductsManager defaultManager].yearProduct.product.introductoryPrice.subscriptionPeriod.numberOfUnits)];
+                    tTips = [NSString stringWithFormat:NSLocalizedString(@"Billed every 12 months at %@ after %@-day trial ends.", nil), monthPrice,@([IAPProductsManager defaultManager].allAccessPack12months_lite.product.introductoryPrice.subscriptionPeriod.numberOfUnits)];
                 }
             }
         } else {
-            if ([IAPProductsManager defaultManager].newlyMonthProduct.product) {
+            if ([IAPProductsManager defaultManager].allAccessPackNew6months_lite.product) {
                 if (@available(macOS 10.13.2, *)) {
-                    tTips = [NSString stringWithFormat:NSLocalizedString(@"Billed every 6 months at %@ after %@-day trial ends.", nil), monthPrice,@([IAPProductsManager defaultManager].newlyMonthProduct.product.introductoryPrice.subscriptionPeriod.numberOfUnits)];
+                    tTips = [NSString stringWithFormat:NSLocalizedString(@"Billed every 6 months at %@ after %@-day trial ends.", nil), monthPrice,@([IAPProductsManager defaultManager].allAccessPackNew6months_lite.product.introductoryPrice.subscriptionPeriod.numberOfUnits)];
                 }
             }
         }
@@ -867,7 +867,7 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
     if (@available(macOS 10.13.2, *)) {
 #if !VERSION_DMG
         if (self.isPurchaseSwitch) {
-            if (![IAPProductsManager defaultManager].yearProduct.product.introductoryPrice) {
+            if (![IAPProductsManager defaultManager].allAccessPack12months_lite.product.introductoryPrice) {
                 if (isShowSale) {
                     tTips = [NSString stringWithFormat:NSLocalizedString(@"%@ for the first year's subscription", nil), monthPrice_discount];
                 } else {
@@ -875,7 +875,7 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
                 }
             }
         } else {
-            if (![IAPProductsManager defaultManager].newlyMonthProduct.product.introductoryPrice) {
+            if (![IAPProductsManager defaultManager].allAccessPackNew6months_lite.product.introductoryPrice) {
                 if (isShowSale) {
                     tTips = [NSString stringWithFormat:NSLocalizedString(@"%@ for the first 6-month subscription", nil), monthPrice_discount];
                 } else {
@@ -1043,11 +1043,11 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
 - (BOOL)isShowSale {
     if (@available(macOS 10.14.4, *)) {
         if ([self isCancelAutoRenew]) {
-            BOOL isSubscribed = [IAPProductsManager defaultManager].newlyMonthProduct.isSubscribed;
+            BOOL isSubscribed = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.isSubscribed;
             if (isSubscribed) {
                 return false;
             }
-            isSubscribed = [IAPProductsManager defaultManager].yearProduct.isSubscribed;
+            isSubscribed = [IAPProductsManager defaultManager].allAccessPack12months_lite.isSubscribed;
             if (isSubscribed) {
                 return false;
             }
@@ -1112,10 +1112,10 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
 
 - (IBAction)buttonItemClicked_Subscribe:(id)sender {
     if (self.isPurchaseSwitch) {
-        [[IAPProductsManager defaultManager] makeSubProduct:[IAPProductsManager defaultManager].yearProduct discount:[self isCancelAutoRenew]];
+        [[IAPProductsManager defaultManager] makeSubProduct:[IAPProductsManager defaultManager].allAccessPack12months_lite discount:[self isCancelAutoRenew]];
         
     } else {
-        [[IAPProductsManager defaultManager] makeSubProduct:[IAPProductsManager defaultManager].newlyMonthProduct discount:[self isCancelAutoRenew]];
+        [[IAPProductsManager defaultManager] makeSubProduct:[IAPProductsManager defaultManager].allAccessPackNew6months_lite discount:[self isCancelAutoRenew]];
     }
     [self addWaingView:self.window.contentView];
     [[FMTrackEventManager defaultManager] trackEventWithEvent:@"PUW" withProperties:@{@"PUW_Btn":@"PUW_Btn_Upgrade_6Mon"}];
@@ -1185,7 +1185,7 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
 }
 
 - (IBAction)buttonItemClicked_LicenseUpgrade:(id)sender {
-    [[IAPProductsManager defaultManager] makeProduct:[IAPProductsManager defaultManager].allAccessProduct];
+    [[IAPProductsManager defaultManager] makeProduct:[IAPProductsManager defaultManager].allAccessPackPermanent_lite];
     [self addWaingView:self.window.contentView];
     [[FMTrackEventManager defaultManager] trackEventWithEvent:@"PUW" withProperties:@{@"PUW_Btn":@"PUW_Btn_Upgrade_Permanent"}];
 }
@@ -1371,11 +1371,11 @@ static NSString *const KMPurchaseCompareCellIdentifier       = @"KMPurchaseCompa
     [self removeWaitingView:self.window.contentView];
     [self reloadData];
     
-    if (IAPProductsManager.defaultManager.newlyMonthProduct.isSubscribed) {
+    if (IAPProductsManager.defaultManager.allAccessPackNew6months_lite.isSubscribed) {
         if (self.kEventTag == 1) {
             [self trackEvent_freeWithEventName:@"PromotionalOffer" params:@{@"PUW_Btn" : @"PUW_7OffUpgrade_6MonthPaid"} platform:KMAnalyticsPlatformAppCenter];
         }
-    } else if (IAPProductsManager.defaultManager.yearProduct.isSubscribed) {
+    } else if (IAPProductsManager.defaultManager.allAccessPack12months_lite.isSubscribed) {
         if (self.kEventTag == 1) {
             [self trackEvent_freeWithEventName:@"PromotionalOffer" params:@{@"PUW_Btn" : @"PUW_7OffUpgrade_12MonthPaid"} platform:KMAnalyticsPlatformAppCenter];
         }

+ 12 - 10
PDF Office/PDF Master/Class/Purchase/IAPProductsManager.h

@@ -50,16 +50,18 @@ extern NSString * const KMIAPSubscriptionLoadedNotification;
 
 @interface IAPProductsManager : NSObject
 
-@property (nonatomic,readonly) IAPProduct *advancedSixMonthPlan_lite;
-@property (nonatomic,readonly) IAPProduct *advancedAnnualPlan_lite;
-@property (nonatomic,readonly) IAPProduct *aiYearPlan_lite;
-
-@property (nonatomic,readonly) IAPProduct *monthProduct;
-@property (nonatomic,readonly) IAPProduct *newlyMonthProduct;
-@property (nonatomic,retain, readonly) IAPProduct *yearProduct;
-@property (nonatomic,readonly) IAPProduct *allAccessProduct;
-@property (nonatomic,readonly) IAPProduct *PDFToOfficeProduct;
-
+@property (nonatomic, readonly) IAPProduct *fourDevicesAllAccessPackNew6Months_lite;
+@property (nonatomic, readonly) IAPProduct *fourDevicesAllAccessPackNew12months_lite;
+@property (nonatomic, readonly) IAPProduct *allAccessPackNew6months_lite;
+@property (nonatomic, readonly) IAPProduct *allAccessPack12months_lite;
+@property (nonatomic, readonly) IAPProduct *allAccessPack6months_lite;
+@property (nonatomic, readonly) IAPProduct *aiAllAccessPack1month_lite;
+@property (nonatomic, readonly) IAPProduct *aiAllAccessPack12month_lite;
+@property (nonatomic, readonly) IAPProduct *allAccessPackPermanent_lite;
+@property (nonatomic, readonly) IAPProduct *advancedAddDevicesAllAccessPack12months_lite;
+@property (nonatomic, readonly) IAPProduct *advancedAdd2DevicesAllAccessPack12months_lite;
+
+@property (nonatomic, readonly) IAPProduct *PDFToOfficeProduct;
 @property (nonatomic, readonly) IAPProduct *liteAIProduct;
 @property (nonatomic, readonly) IAPProduct *proAIProduct;
 

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 577 - 209
PDF Office/PDF Master/Class/Purchase/IAPProductsManager.m


+ 10 - 10
PDF Office/PDF Master/Class/Purchase/KMConvertCompareViewController.m

@@ -173,29 +173,29 @@
     NSString * subPrice = @"";
     NSString * allPrice = @"";
     
-    if ([IAPProductsManager defaultManager].newlyMonthProduct.isOffers) {
+    if ([IAPProductsManager defaultManager].allAccessPackNew6months_lite.isOffers) {
         self.specialView1.hidden = NO;
-        averagePrice = [IAPProductsManager defaultManager].newlyMonthProduct.offersAveragePrice;
-        subPrice = [IAPProductsManager defaultManager].newlyMonthProduct.offersPrice;
+        averagePrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.offersAveragePrice;
+        subPrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.offersPrice;
     } else {
         self.specialView1.hidden = YES;
-        averagePrice = [IAPProductsManager defaultManager].newlyMonthProduct.averagePrice;
-        subPrice = [IAPProductsManager defaultManager].newlyMonthProduct.price;
+        averagePrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.averagePrice;
+        subPrice = [IAPProductsManager defaultManager].allAccessPackNew6months_lite.price;
     }
     
-    if ([IAPProductsManager defaultManager].allAccessProduct.isOffers) {
+    if ([IAPProductsManager defaultManager].allAccessPackPermanent_lite.isOffers) {
         self.specialView.hidden = NO;
-        allPrice = [IAPProductsManager defaultManager].allAccessProduct.offersPrice;
+        allPrice = [IAPProductsManager defaultManager].allAccessPackPermanent_lite.offersPrice;
     } else {
         self.specialView.hidden = YES;
-        allPrice = [IAPProductsManager defaultManager].allAccessProduct.price;
+        allPrice = [IAPProductsManager defaultManager].allAccessPackPermanent_lite.price;
     }
     
-    CGFloat off = 1 -[IAPProductsManager defaultManager].newlyMonthProduct.offers;
+    CGFloat off = 1 -[IAPProductsManager defaultManager].allAccessPackNew6months_lite.offers;
     NSString *offString = [NSString stringWithFormat:@"%.f%%",off * 100];
     self.specialLabel1.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ off", @""),offString];
     
-    off = 1 -[IAPProductsManager defaultManager].allAccessProduct.offers;
+    off = 1 -[IAPProductsManager defaultManager].allAccessPackPermanent_lite.offers;
     offString = [NSString stringWithFormat:@"%.f%%",off * 100];
     self.specialLabel.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ off", @""),offString];
     

+ 38 - 0
PDF Office/PDF Master/MemberCenter/Assets/MemberCenter.xcassets/Color/5528FF.colorset/Contents.json

@@ -0,0 +1,38 @@
+{
+  "colors" : [
+    {
+      "color" : {
+        "color-space" : "srgb",
+        "components" : {
+          "alpha" : "1.000",
+          "blue" : "0xFF",
+          "green" : "0x28",
+          "red" : "0x55"
+        }
+      },
+      "idiom" : "universal"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "color" : {
+        "color-space" : "srgb",
+        "components" : {
+          "alpha" : "1.000",
+          "blue" : "0xFF",
+          "green" : "0x28",
+          "red" : "0x55"
+        }
+      },
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 44 - 0
PDF Office/PDF Master/MemberCenter/Model/KMMemberCenterManager.swift

@@ -1266,6 +1266,50 @@ class KMMemberCenterManager: NSObject {
         }
     }
     
+    // MARK: 苹果支付
+    
+    /**
+     @abstract              APPstore 权益校验
+     @param orderStatus               0全部1待支付
+     @param complete 回调
+     */
+    func appStoreEquityVerification(orderStatus: Int, _ complete: @escaping KMMemberProductComplete) {
+        let token: String = KMMemberInfo.shared.access_token
+        if token == "" {
+            return
+        }
+        let urlString = configuration.activityBaseURL() + "/member-system-website/applePay/appStoreEquityVerification"
+        let params: [String: Any] = ["userId": "",
+                                     "applePayProductId": "",
+                                     "transactionId": "",
+                                     "productCode": ""]
+        KMRequestServer.requestServer.request(urlString: urlString, method: .get, params: params) { requestSerializer in
+            requestSerializer.setValue("Bearer " + token, forHTTPHeaderField: "Authorization")
+        } completion: { [weak self] (task, responseObject, error) in
+            var dic: NSDictionary = [:]
+            if error == nil, let responseObject = responseObject as? NSDictionary {
+                dic = responseObject
+            } else {
+                var info = responseObject
+                if let error = error {
+                    if let data = error.userInfo["com.alamofire.serialization.response.error.data"] as? Data {
+                        info = try? JSONSerialization.jsonObject(with: data, options: .mutableLeaves) as? NSDictionary
+                    }
+                }
+                dic = (info as? NSDictionary) ?? [:]
+            }
+            let code: Int = dic["code"] as? Int ?? 0
+            let result: NSDictionary = dic["result"] as? NSDictionary ?? [:]
+            let message: String = dic["msg"] as? String ?? ""
+            let result1 = KMMemberProductResult(code: code, msg: message, result: "")
+            if code == 200 {
+                complete(true, result1)
+            } else {
+                complete(false, result1)
+            }
+        }
+    }
+
 
     // MARK: 评估模块
 

+ 6 - 4
PDF Office/PDF Master/MemberCenter/Model/KMMemberInfo.swift

@@ -23,8 +23,10 @@ import Cocoa
     case lite_type12    // 免费版 有旧买断 全平台高级版年订阅 (右上角导航栏按钮 - “登录领福利”)
     case lite_type13    // 免费版 有旧买断 订阅中取消 (右上角导航栏按钮 - “登录领福利” + 续费)
     case pro_type1      // 付费版 有旧PDF To Office (右上角导航栏按钮 - “登录领福利” + 升级(全平台))
-    case pro_type2      // 付费版 无旧PDF To Office (右上角导航栏按钮 - “登录领福利” + 升级(全平台/高级版永久))
-    case pro_type3      // 付费版 无旧PDF To Office 高级版永久 (右上角导航栏按钮 - Info + 升级(全平台))
+    case pro_type2      // 付费版 有旧PDF To Office 全平台高级年订阅 (右上角导航栏按钮 - “登录领福利”)
+    case pro_type3      // 付费版 无旧PDF To Office (右上角导航栏按钮 - “登录领福利” + 升级(全平台/高级版永久))
+    case pro_type4      // 付费版 无旧PDF To Office 高级版永久 (右上角导航栏按钮 - Info + 升级(全平台))
+    case pro_type5      // 付费版 无旧PDF To Office 全平台高级年订阅 (右上角导航栏按钮 - Info)
 }
 
 // 当前权益类型
@@ -313,7 +315,7 @@ import Cocoa
 #else
     // AppStore 免费版本
             if KMMemberInfo.shared.isLogin {
-                if IAPProductsManager.default().allAccessProduct.isSubscribed == true || IAPProductsManager.default().isAvailableAllFunction() == true {
+                if IAPProductsManager.default().allAccessPackPermanent_lite.isSubscribed == true || IAPProductsManager.default().isAvailableAllFunction() == true {
                     return true
                 } else {
                     if userScenarioType == .lite_type2 || userScenarioType == .lite_type4 || userScenarioType == .lite_type5 || userScenarioType == .lite_type6 {
@@ -322,7 +324,7 @@ import Cocoa
                     return false
                 }
             } else {
-                if IAPProductsManager.default().allAccessProduct.isSubscribed == true || IAPProductsManager.default().isAvailableAllFunction() == true {
+                if IAPProductsManager.default().allAccessPackPermanent_lite.isSubscribed == true || IAPProductsManager.default().isAvailableAllFunction() == true {
                     return true
                 }
                 return false

+ 1 - 0
PDF Office/PDF Master/MemberCenter/View/KMSignUpView.swift

@@ -381,6 +381,7 @@ class KMSignUpView: KMBaseXibView {
             }
             .store(in: &cancellables)
     }
+    
         
     // MARK: Action Method
     

+ 2 - 2
PDF Office/PDF Master/MemberCenter/View/KMSignUpView.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="Named colors" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>

+ 30 - 30
PDF Office/PDF Master/MemberCenter/ViewController/KMUserInfoViewController.swift

@@ -110,15 +110,7 @@ class KMUserInfoViewController: NSViewController {
     private func languageLocalized() -> Void {
         emailLabel.stringValue = KMMemberInfo.shared.userEmail
         productLabel.stringValue = NSLocalizedString("Personal Account", tableName: "MemberCenterLocalizable", comment: "")
-//        if KMMemberInfo.shared.userScenarioType == .lite_type4 ||
-//            KMMemberInfo.shared.userScenarioType == .lite_type6 ||
-//            KMMemberInfo.shared.userScenarioType == .lite_type7 ||
-//            KMMemberInfo.shared.userScenarioType == .lite_type8 ||
-//            KMMemberInfo.shared.userScenarioType == .lite_type12 ||
-//            KMMemberInfo.shared.userScenarioType == .lite_type13 {
-//            
-//        }
-        productLabel.stringValue = KMMemberInfo.shared.vip_endDate
+        endDateLabel.stringValue = KMMemberInfo.shared.vip_endDate
         membershipLabel.stringValue = NSLocalizedString("Membership Benefits", tableName: "MemberCenterLocalizable", comment: "")
         buyNow3Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
         accountLabel.stringValue = NSLocalizedString("Account Center", tableName: "MemberCenterLocalizable", comment: "")
@@ -163,8 +155,8 @@ class KMUserInfoViewController: NSViewController {
             buyNow3Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
         } else if KMMemberInfo.shared.userScenarioType == .lite_type5 ||
                     KMMemberInfo.shared.userScenarioType == .pro_type1 ||
-                    KMMemberInfo.shared.userScenarioType == .pro_type2 ||
-                    KMMemberInfo.shared.userScenarioType == .pro_type3 {
+                    KMMemberInfo.shared.userScenarioType == .pro_type3 ||
+                    KMMemberInfo.shared.userScenarioType == .pro_type4 {
             buyNow3Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
         } else if KMMemberInfo.shared.userScenarioType == .lite_type7 ||
                     KMMemberInfo.shared.userScenarioType == .lite_type8 ||
@@ -189,12 +181,19 @@ class KMUserInfoViewController: NSViewController {
         productLabel.font = NSFont.SFProTextRegularFont(12)
         endDateLabel.textColor = NSColor(named: "42464D_1")
         endDateLabel.font = NSFont.SFProTextRegularFont(12)
-        if KMMemberInfo.shared.vip_endDate.count > 0 {
-            spliLineImageView.isHidden = false
-            endDateLabel.isHidden = false
-        } else {
-            spliLineImageView.isHidden = true
-            endDateLabel.isHidden = true
+        spliLineImageView.isHidden = true
+        endDateLabel.isHidden = true
+        if KMMemberInfo.shared.userScenarioType == .lite_type4 ||
+            KMMemberInfo.shared.userScenarioType == .lite_type6 ||
+            KMMemberInfo.shared.userScenarioType == .lite_type7 ||
+            KMMemberInfo.shared.userScenarioType == .lite_type8 ||
+            KMMemberInfo.shared.userScenarioType == .lite_type12 ||
+            KMMemberInfo.shared.userScenarioType == .lite_type13 ||
+            KMMemberInfo.shared.userScenarioType == .pro_type3 {
+            if KMMemberInfo.shared.vip_endDate.count > 0 {
+                spliLineImageView.isHidden = false
+                endDateLabel.isHidden = false
+            }
         }
         membershipLabel.font = NSFont.SFMediumFontWithSize(16)
         lockedBackgroud.image = NSImage(named: "ButtonBackgroundImage1")
@@ -208,6 +207,8 @@ class KMUserInfoViewController: NSViewController {
         buyNow1ImageView.image = NSImage(named: "ButtonBackgroundImage2")
         buyNow2ImageView.image = NSImage(named: "ButtonBackgroundImage2")
         buyNow3ImageView.image = NSImage(named: "ButtonBackgroundImage2")
+        buyNow3ImageView.wantsLayer = true
+        buyNow3ImageView.layer?.cornerRadius = 4.0
         buyNow1Label.textColor = NSColor(named: "FFFFFF")
         buyNow1Label.font = NSFont.SFProTextRegularFont(14)
         buyNow2Label.textColor = NSColor(named: "FFFFFF")
@@ -268,17 +269,16 @@ class KMUserInfoViewController: NSViewController {
                     KMMemberInfo.shared.userScenarioType == .lite_type12 ||
                     KMMemberInfo.shared.userScenarioType == .pro_type1 ||
                     KMMemberInfo.shared.userScenarioType == .pro_type2 ||
-                    KMMemberInfo.shared.userScenarioType == .pro_type3 {
-            
-            membershipLabel.textColor = NSColor(hex: "FCFDFF")
+                    KMMemberInfo.shared.userScenarioType == .pro_type3 ||
+                    KMMemberInfo.shared.userScenarioType == .pro_type4 ||
+                    KMMemberInfo.shared.userScenarioType == .pro_type5 {
+            membershipLabel.textColor = NSColor(named: "FFFFFF")
             lockedLabel.textColor = NSColor(hex: "FCFDFF")
-            number1Label.textColor = NSColor(hex: "FCFDFF")
-            number2Label.textColor = NSColor(hex: "FCFDFF")
-            number3Label.textColor =  NSColor(hex:"FCFDFF")
-            number4Label.textColor = NSColor(hex: "FCFDFF")
+            number2Label.textColor = NSColor(named: "FFFFFF")
+            number3Label.textColor = NSColor(named: "FFFFFF")
+            number4Label.textColor = NSColor(named: "FFFFFF")
             number4_1Label.textColor = NSColor(hex: "FCFDFF")
-            number5Label.textColor = NSColor(hex: "FCFDFF")
-
+            number5Label.textColor = NSColor(named: "FFFFFF")
             lockedImageView.image = NSImage(named: "UpgradeImage2")
             centerBackgroud.image = NSImage(named: "ButtonBackgroundImage4")
             rightsBox.fillColor = NSColor(named: "FFFFFF_0.2") ?? .white
@@ -286,8 +286,8 @@ class KMUserInfoViewController: NSViewController {
             number1Label.isHidden = true
             if KMMemberInfo.shared.userScenarioType == .lite_type5 ||
                 KMMemberInfo.shared.userScenarioType == .pro_type1 ||
-                KMMemberInfo.shared.userScenarioType == .pro_type2 ||
-                KMMemberInfo.shared.userScenarioType == .pro_type3 {
+                KMMemberInfo.shared.userScenarioType == .pro_type3 ||
+                KMMemberInfo.shared.userScenarioType == .pro_type4 {
                 buyBox.contentView = buyView2
                 buyNow3ImageView.isHidden = true
                 arrow3ImageView.image = NSImage(named: "BuyNewArrowImage2")
@@ -406,9 +406,9 @@ class KMUserInfoViewController: NSViewController {
                         KMMemberInfo.shared.userScenarioType == .lite_type13 {
                 self.viewModel.skipCompare(.lite_MacWindows)
             } else if KMMemberInfo.shared.userScenarioType == .pro_type1 ||
-                        KMMemberInfo.shared.userScenarioType == .pro_type3 {
+                        KMMemberInfo.shared.userScenarioType == .pro_type4 {
                 self.viewModel.skipCompare(.pro_Advanced)
-            } else if KMMemberInfo.shared.userScenarioType == .pro_type2 {
+            } else if KMMemberInfo.shared.userScenarioType == .pro_type3 {
                 self.viewModel.skipCompare(.pro_Base)
             }
         }

+ 143 - 28
PDF Office/PDF Master/MemberCenter/ViewModel/KMProductModel.swift

@@ -31,9 +31,9 @@ import Combine
 @objc enum KMPurchasedProductType : Int {
     case fourDevicesAllAccessPackNew6months_lite = 0    // 4_devices_all_access_pack_new_6months(订阅)
     case fourDevicesAllAccessPackNew12months_lite       // 4_devices_all_access_pack_12months(订阅)
-    case allAccessPackNew6months_lite                   // all_access_pack_new_6months(订阅)
-    case allAccessPack12months_lite                     // all_access_pack_12months(订阅)
-    case allAccessPack6months_lite                      // all_access_pack_6months(订阅)
+//    case allAccessPackNew6months_lite                   // all_access_pack_new_6months(订阅)
+//    case allAccessPack12months_lite                     // all_access_pack_12months(订阅)
+//    case allAccessPack6months_lite                      // all_access_pack_6months(订阅)
     case aiAllAccessPack1month_lite                     // ai_all_access_pack_1month(订阅)
     case aiAllAccessPack12month_lite                    // ai_all_access_pack_12month(订阅)
     case allAccessPackPermanent_lite                    // all_access_pack_permanent(永久)
@@ -48,6 +48,8 @@ import Combine
     case advancedAdd2DevicesAllAccessPack12months_pro  // advanced_add_2_devices_all_access_pack_12months(订阅)
 }
 
+typealias AppstorePurchaseComplete = (_ success: Bool,_ msg: String) -> Void
+
 @objcMembers
 class KMProductModel: ObservableObject {
     /**
@@ -99,41 +101,154 @@ class KMProductModel: ObservableObject {
     /**
      对应商品价格
      */
-    func getProductPrice(_ type: KMCompareProductType) -> String {
-        if type == .freeTrial {
+    func getProductPrice(_ type: KMPurchasedProductType) -> String {
+        if type == .fourDevicesAllAccessPackNew6months_lite {
+            if let product = IAPProductsManager.default().fourDevicesAllAccessPackNew6Months_lite, product.isOffers {
+                return product.offersPrice()
+            } else {
+                return IAPProductsManager.default().fourDevicesAllAccessPackNew6Months_lite.price()
+            }
+        } else if type == .fourDevicesAllAccessPackNew12months_lite {
+            if let product = IAPProductsManager.default().fourDevicesAllAccessPackNew12months_lite, product.isOffers {
+                return product.offersPrice()
+            } else {
+                return IAPProductsManager.default().fourDevicesAllAccessPackNew12months_lite.price()
+            }
+        } else if type == .aiAllAccessPack1month_lite {
+            if let product = IAPProductsManager.default().aiAllAccessPack1month_lite, product.isOffers {
+                return product.offersPrice()
+            } else {
+                return IAPProductsManager.default().aiAllAccessPack1month_lite.price()
+            }
+        } else if type == .aiAllAccessPack12month_lite {
+            if let product = IAPProductsManager.default().aiAllAccessPack12month_lite, product.isOffers {
+                return product.offersPrice()
+            } else {
+                return IAPProductsManager.default().aiAllAccessPack12month_lite.price()
+            }
+        } else if type == .allAccessPackPermanent_lite {
+            if let product = IAPProductsManager.default().allAccessPackPermanent_lite, product.isOffers {
+                return product.offersPrice()
+            } else {
+                return IAPProductsManager.default().allAccessPackPermanent_lite.price()
+            }
+        } else if type == .advancedAddDevicesAllAccessPack12months_lite {
+            if let product = IAPProductsManager.default().advancedAddDevicesAllAccessPack12months_lite, product.isOffers {
+                return product.offersPrice()
+            } else {
+                return IAPProductsManager.default().advancedAddDevicesAllAccessPack12months_lite.price()
+            }
+        } else if type == .advancedAdd2DevicesAllAccessPack12months_lite {
+            if let product = IAPProductsManager.default().advancedAdd2DevicesAllAccessPack12months_lite, product.isOffers {
+                return product.offersPrice()
+            } else {
+                return IAPProductsManager.default().advancedAdd2DevicesAllAccessPack12months_lite.price()
+            }
+        } else if type == .aiAllAccessPack1month_pro {
             
-        } else if type == .allPlatformStandard {
+        } else if type == .aiAllAccessPack12month_pro {
             
-        } else if type == .dualPlatformAdvanced {
+        } else if type == .pdfToOfficePackPermanent_pro {
             
-        } else if type == .allPlatformAdvanced_6 {
-            if let allAccessProduct = IAPProductsManager.default().advancedSixMonthPlan_lite, allAccessProduct.isOffers {
-                return allAccessProduct.offersPrice()
-            }
-        } else if type == .allPlatformAdvanced_12 {
-#if VERSION_FREE
-#if VERSION_DMG
-    // DMG
-
-#else
-    // AppStore 免费版本
-            if let allAccessProduct = IAPProductsManager.default().advancedAnnualPlan_lite, allAccessProduct.isOffers {
-                return allAccessProduct.offersPrice()
+        } else if type == .fourDevicesAllAccessPack12months_pro {
+            
+        } else if type == .standardAddDevicesAllAccessPack12months_pro {
+            
+        } else if type == .advancedAddDevicesAllAccessPack12months_pro {
+            
+        } else if type == .advancedAdd2DevicesAllAccessPack12months_pro {
+            
+        }
+        return ""
+    }
+    
+    func appstorePurchaseAction(_ tag: Int, _ complete: @escaping AppstorePurchaseComplete) -> Void {
+        if state == .dmg_Base {
+            
+        } else if state == .dmg_MacWindows {
+            
+        } else if state == .lite_Base {
+            if tag == 0 {
+                if isPurchaseSwitch { membershipPurchase(.fourDevicesAllAccessPackNew12months_lite) }
+                else { membershipPurchase(.fourDevicesAllAccessPackNew6months_lite) }
+            } else if tag == 3 {
+                membershipPurchase(.allAccessPackPermanent_lite)
             } else {
-                return IAPProductsManager.default().advancedAnnualPlan_lite.price()
+                membershipPurchase(.fourDevicesAllAccessPackNew12months_lite)
             }
-#endif
-#else
-    // AppStore 付费版
-
-#endif
-        } else if type == .macPlatformAdvanced {
+        } else if state == .lite_MacWindows {
+            if tag == 2 {
+                membershipPurchase(.fourDevicesAllAccessPackNew12months_lite)
+            }
+        } else if state == .pro_Base {
             
+        } else if state == .pro_Advanced {
+            
+        } else {
+            if tag == 2 {
+                membershipPurchase(.fourDevicesAllAccessPackNew12months_lite)
+            }
         }
-        return ""
+    }
+    
+    var isCancelAutoRenew: Bool {
+        return IAPProductsManager.default().isCancelAutoRenew()
+    }
+    
+    var isShowSale: Bool {
+        if #available(macOS 10.14.4, *), isCancelAutoRenew {
+            let manager = IAPProductsManager.default()
+            let isSubscribed_newlyMonth = manager?.allAccessPackNew6months_lite.isSubscribed ?? false
+            let isSubscribed_year = manager?.allAccessPack12months_lite.isSubscribed ?? false
+            if isSubscribed_newlyMonth || isSubscribed_year {
+                return false
+            }
+            if let info = KMAdvertisementManager.manager.info.StoreUserRecovery?.content?.first, !(info.show! as NSString).boolValue {
+                return false
+            }
+            return true
+        }
+        return false
     }
 
     // MARK: Private Method
+    
+    /**
+     会员购买
+     */
+    private func membershipPurchase(_ type: KMPurchasedProductType) -> Void {
+        if type == .fourDevicesAllAccessPackNew6months_lite || type == .fourDevicesAllAccessPackNew12months_lite {
+            if isPurchaseSwitch {
+                IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().fourDevicesAllAccessPackNew12months_lite, discount: isCancelAutoRenew)
+            } else {
+                IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().fourDevicesAllAccessPackNew6Months_lite, discount: isCancelAutoRenew)
+            }
+        } else if type == .aiAllAccessPack1month_lite {
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().aiAllAccessPack1month_lite, discount: isCancelAutoRenew)
+        } else if type == .aiAllAccessPack12month_lite {
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().aiAllAccessPack12month_lite, discount: isCancelAutoRenew)
+        } else if type == .allAccessPackPermanent_lite {
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().allAccessPackPermanent_lite, discount: isCancelAutoRenew)
+        } else if type == .advancedAddDevicesAllAccessPack12months_lite {
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().advancedAddDevicesAllAccessPack12months_lite, discount: isCancelAutoRenew)
+        } else if type == .advancedAdd2DevicesAllAccessPack12months_lite {
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().advancedAdd2DevicesAllAccessPack12months_lite, discount: isCancelAutoRenew)
+        } else if type == .aiAllAccessPack1month_pro {
+            
+        } else if type == .aiAllAccessPack12month_pro {
+            
+        } else if type == .pdfToOfficePackPermanent_pro {
+            
+        } else if type == .fourDevicesAllAccessPack12months_pro {
+            
+        } else if type == .standardAddDevicesAllAccessPack12months_pro {
+            
+        } else if type == .advancedAddDevicesAllAccessPack12months_pro {
+            
+        } else if type == .advancedAdd2DevicesAllAccessPack12months_pro {
+            
+        }
+    }
 
     // MARK: Action Method
     

+ 2 - 2
PDF Office/PDF Master/MemberCenter/ViewModel/KMUserInfoVCModel.swift

@@ -213,9 +213,9 @@ class KMUserInfoVCModel: ObservableObject {
      */
     func buyFullPlatformSubscription(_ type: memberEquityType) -> Void {
         if type == .advancedSixMonthPlan {
-            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().advancedSixMonthPlan_lite, discount: IAPProductsManager.default().isCancelAutoRenew())
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().fourDevicesAllAccessPackNew6Months_lite, discount: IAPProductsManager.default().isCancelAutoRenew())
         } else if type == .advancedYearMonthPlan {
-            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().advancedAnnualPlan_lite, discount: IAPProductsManager.default().isCancelAutoRenew())
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().fourDevicesAllAccessPackNew12months_lite, discount: IAPProductsManager.default().isCancelAutoRenew())
         }
     }
     

+ 1 - 1
PDF Office/PDF Master/MemberCenter/WindowsController/KMFreeGetAIWC.swift

@@ -88,7 +88,7 @@ class KMFreeGetAIWC: NSWindowController {
     // DMG
 #else
     // AppStore 免费版本
-            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().aiYearPlan_lite, discount: IAPProductsManager.default().isCancelAutoRenew())
+            IAPProductsManager.default().makeSubProduct(IAPProductsManager.default().aiAllAccessPack12month_lite, discount: IAPProductsManager.default().isCancelAutoRenew())
 #endif
 #else
     // AppStore 付费版

+ 3 - 3
PDF Office/PDF Master/MemberCenter/WindowsController/KMFreeGetAIWC.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -25,7 +25,7 @@
         <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" titlebarAppearsTransparent="YES" titleVisibility="hidden" id="F0z-JX-Cv5">
             <windowStyleMask key="styleMask" titled="YES" closable="YES" fullSizeContentView="YES"/>
             <rect key="contentRect" x="196" y="240" width="538" height="436"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
             <value key="minSize" type="size" width="538" height="436"/>
             <value key="maxSize" type="size" width="538" height="436"/>
             <view key="contentView" id="se5-gp-TjO">

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 199 - 276
PDF Office/PDF Master/MemberCenter/WindowsController/KMProductCompareWC.swift


+ 57 - 74
PDF Office/PDF Master/MemberCenter/WindowsController/KMProductCompareWC.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="Named colors" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -10,10 +10,16 @@
         <customObject id="-2" userLabel="File's Owner" customClass="KMProductCompareWC" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
                 <outlet property="aboutButton" destination="NUp-Nc-4Lc" id="8pI-oP-BLW"/>
+                <outlet property="advancedPlanInfoLabel" destination="Ll7-An-0YH" id="E5i-mq-NbX"/>
+                <outlet property="advancedPlanInfoView" destination="fce-hX-IV6" id="fKc-eZ-ouv"/>
+                <outlet property="advancedPlanPurchaseButton" destination="SFA-A0-TRs" id="4QT-7d-h6P"/>
+                <outlet property="advancedPlanPurchaseLabel" destination="ABz-rY-vFD" id="SWe-TL-aBy"/>
+                <outlet property="advancedPlanPurchaseLbl" destination="D71-TX-fVd" id="Jgv-uy-CZD"/>
+                <outlet property="advancedPlanPurchaseLblBtn" destination="JRG-Tt-bke" id="gp7-56-gTK"/>
+                <outlet property="advancedPlanPurchaseSubLabel" destination="oie-PG-6He" id="54z-yg-Umo"/>
+                <outlet property="advancedPlanPurchaseSubLabel2" destination="0HH-bq-tk2" id="SRH-PL-6QB"/>
                 <outlet property="backgroundImage1" destination="mhT-uZ-2vj" id="J5Z-rm-pk3"/>
-                <outlet property="backgroundImage2" destination="uve-Cj-mgc" id="cJh-ay-Pkc"/>
                 <outlet property="backgroundImage3" destination="Y18-DK-FWw" id="3wh-VW-Aud"/>
-                <outlet property="backgroundImage4" destination="Jia-uw-3zI" id="r3Q-wO-76n"/>
                 <outlet property="billedTopConst" destination="TWZ-mS-ih1" id="yMT-KX-19C"/>
                 <outlet property="box" destination="MVd-e9-wr3" id="a9y-eW-QZ4"/>
                 <outlet property="btnRestore" destination="9Ua-mh-Y98" id="2fY-C4-rwZ"/>
@@ -25,6 +31,14 @@
                 <outlet property="freeInfoView" destination="ZLd-Sg-G8w" id="138-nW-ZY6"/>
                 <outlet property="labelbox" destination="eYZ-KU-1XY" id="p1E-Z6-bbD"/>
                 <outlet property="oneYearProLabel" destination="rzf-vX-hjW" id="CpJ-P7-gaZ"/>
+                <outlet property="permanentInfoLabel" destination="snj-Zj-OvD" id="dIT-u2-eQT"/>
+                <outlet property="permanentInfoView" destination="XVZ-jI-UYX" id="Bad-Tf-M22"/>
+                <outlet property="permanentPurchaseButton" destination="zmz-yq-8SZ" id="qVb-1U-GUW"/>
+                <outlet property="permanentPurchaseLabel" destination="okn-VX-xhH" id="MHC-gj-C4i"/>
+                <outlet property="permanentPurchaseLbl" destination="w8I-Fc-Axv" id="ilg-lV-lCb"/>
+                <outlet property="permanentPurchaseLblBtn" destination="5cy-wO-SqL" id="miQ-hL-2lK"/>
+                <outlet property="permanentPurchaseSubLabel" destination="CHT-d8-7WR" id="RsF-HN-anj"/>
+                <outlet property="permanentPurchaseSubLabel2" destination="ctO-mu-ddI" id="msi-hr-4xG"/>
                 <outlet property="platformsView1" destination="kyQ-Jn-2Ny" id="2l9-dt-Enr"/>
                 <outlet property="platformsView2" destination="HRU-Hk-DQz" id="nLx-4O-52N"/>
                 <outlet property="platformsView3" destination="drW-Of-60w" id="md3-NY-40M"/>
@@ -40,6 +54,14 @@
                 <outlet property="specialLabel1" destination="rVM-Kv-Rbr" id="8hy-Re-sqV"/>
                 <outlet property="specialView" destination="wc2-lB-ZOG" id="LVQ-k0-Gsd"/>
                 <outlet property="specialView1" destination="KD9-Jz-pNW" id="LQF-ey-jd4"/>
+                <outlet property="standardPlanInfoLabel" destination="yl6-4d-E04" id="MLP-xO-kYm"/>
+                <outlet property="standardPlanInfoView" destination="5cj-A5-MFN" id="6QJ-ao-Wce"/>
+                <outlet property="standardPlanPurchaseButton" destination="3Ik-8P-4RK" id="ABr-zd-l3x"/>
+                <outlet property="standardPlanPurchaseLabel" destination="cgF-jQ-Q0K" id="pvv-eB-rRd"/>
+                <outlet property="standardPlanPurchaseLbl" destination="3QB-3J-VcS" id="3dz-x0-UNb"/>
+                <outlet property="standardPlanPurchaseLblBtn" destination="ZEN-97-7fT" id="aGr-R1-F0z"/>
+                <outlet property="standardPlanPurchaseSubLabel" destination="u1v-EM-8Bp" id="Eu4-yf-FCl"/>
+                <outlet property="standardPlanPurchaseSubLabel2" destination="Z2t-T7-CMh" id="S0p-hw-fCQ"/>
                 <outlet property="switchBox" destination="tpD-w8-ls0" id="DIZ-e4-SsX"/>
                 <outlet property="switchBtn" destination="85I-Ew-NJK" id="3IJ-re-jWC"/>
                 <outlet property="switchCircleLeftConst" destination="zfa-w6-GDp" id="5Fi-Qt-Plo"/>
@@ -72,30 +94,6 @@
                 <outlet property="value1PurchaseLabel" destination="ljn-U5-Aje" id="HBd-4f-Fx9"/>
                 <outlet property="value1PurchaseOriPriceLbl" destination="Dv2-0w-DyH" id="aQG-Hc-Zn9"/>
                 <outlet property="value1PurchaseSubLabel" destination="Rwz-e9-wOa" id="zFE-vA-ZQP"/>
-                <outlet property="value2InfoLabel" destination="yl6-4d-E04" id="Lr9-8B-dQ7"/>
-                <outlet property="value2InfoView" destination="5cj-A5-MFN" id="hDQ-BQ-weZ"/>
-                <outlet property="value2PurchaseButton" destination="3Ik-8P-4RK" id="eYD-qv-gvU"/>
-                <outlet property="value2PurchaseLabel" destination="cgF-jQ-Q0K" id="qkD-DV-NfD"/>
-                <outlet property="value2PurchaseLbl" destination="3QB-3J-VcS" id="MVg-Ea-Qpp"/>
-                <outlet property="value2PurchaseLblBtn" destination="ZEN-97-7fT" id="rTs-pP-smg"/>
-                <outlet property="value2PurchaseSubLabel" destination="u1v-EM-8Bp" id="CAf-E2-4sG"/>
-                <outlet property="value2PurchaseSubLabel2" destination="Z2t-T7-CMh" id="UOZ-rT-wvq"/>
-                <outlet property="value3InfoLabel" destination="Ll7-An-0YH" id="cH1-hx-5hQ"/>
-                <outlet property="value3InfoView" destination="fce-hX-IV6" id="P6z-xi-tMT"/>
-                <outlet property="value3PurchaseButton" destination="SFA-A0-TRs" id="VT7-b5-hlw"/>
-                <outlet property="value3PurchaseLabel" destination="ABz-rY-vFD" id="rpU-V6-ihV"/>
-                <outlet property="value3PurchaseLbl" destination="D71-TX-fVd" id="lF2-q2-mae"/>
-                <outlet property="value3PurchaseLblBtn" destination="JRG-Tt-bke" id="gna-rZ-jLZ"/>
-                <outlet property="value3PurchaseSubLabel" destination="oie-PG-6He" id="jtn-XM-4XB"/>
-                <outlet property="value3PurchaseSubLabel2" destination="0HH-bq-tk2" id="5LY-r3-geL"/>
-                <outlet property="value4InfoLabel" destination="snj-Zj-OvD" id="9Cc-xq-WbV"/>
-                <outlet property="value4InfoView" destination="XVZ-jI-UYX" id="h4V-17-J4Y"/>
-                <outlet property="value4PurchaseButton" destination="zmz-yq-8SZ" id="1IJ-k6-uo6"/>
-                <outlet property="value4PurchaseLabel" destination="okn-VX-xhH" id="AEG-T3-aEj"/>
-                <outlet property="value4PurchaseLbl" destination="w8I-Fc-Axv" id="mo9-0p-9gi"/>
-                <outlet property="value4PurchaseLblBtn" destination="5cy-wO-SqL" id="dS7-dO-cCY"/>
-                <outlet property="value4PurchaseSubLabel" destination="CHT-d8-7WR" id="SXe-UY-Rgx"/>
-                <outlet property="value4PurchaseSubLabel2" destination="ctO-mu-ddI" id="Lhl-au-1yT"/>
                 <outlet property="window" destination="7jy-UC-R98" id="Pdq-cy-1Iu"/>
             </connections>
         </customObject>
@@ -104,7 +102,7 @@
         <window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="documentWindow" titlebarAppearsTransparent="YES" id="7jy-UC-R98">
             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" fullSizeContentView="YES"/>
             <rect key="contentRect" x="77" y="40" width="970" height="660"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
             <view key="contentView" wantsLayer="YES" misplaced="YES" id="BHT-Ss-56B">
                 <rect key="frame" x="0.0" y="0.0" width="970" height="660"/>
                 <autoresizingMask key="autoresizingMask"/>
@@ -292,6 +290,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                                                         </attributes>
                                                     </fragment>
                                                 </attributedString>
+                                                <color key="insertionPointColor" name="textInsertionPointColor" catalog="System" colorSpace="catalog"/>
                                             </textView>
                                         </subviews>
                                     </clipView>
@@ -1345,7 +1344,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <constraint firstAttribute="width" constant="120" id="fCD-kh-DRQ"/>
                     </constraints>
                     <connections>
-                        <action selector="buttonItemClicked_Subscribe:" target="-2" id="J5k-3y-EaN"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="33g-0T-Qzq"/>
                     </connections>
                 </button>
                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TGG-tp-JR2">
@@ -1366,7 +1365,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
                     <connections>
-                        <action selector="buttonItemClicked_Subscribe:" target="-2" id="Yxk-EI-NCM"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="P4Q-ZO-PSp"/>
                     </connections>
                 </button>
                 <box boxType="custom" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="MGz-Hq-oCc">
@@ -1462,11 +1461,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
             <rect key="frame" x="0.0" y="0.0" width="299" height="202"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="uve-Cj-mgc">
-                    <rect key="frame" x="0.0" y="-10" width="299" height="212"/>
-                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="ComparativeBackground" id="Baq-h5-3kB"/>
-                </imageView>
-                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3Ik-8P-4RK" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <button tag="1" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3Ik-8P-4RK" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="90" y="16" width="120" height="40"/>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" imagePosition="overlaps" alignment="center" imageScaling="axesIndependently" inset="2" id="qe5-qU-Z1A">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1477,7 +1472,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <constraint firstAttribute="height" constant="40" id="b4I-Jh-WXV"/>
                     </constraints>
                     <connections>
-                        <action selector="buttonItemClicked_LicenseUpgrade:" target="-2" id="Vqg-aZ-qIa"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="nEz-Mc-W3X"/>
                     </connections>
                 </button>
                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3QB-3J-VcS">
@@ -1488,14 +1483,14 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZEN-97-7fT" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <button tag="1" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZEN-97-7fT" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="90" y="16" width="120" height="40"/>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" imagePosition="overlaps" alignment="center" imageScaling="axesIndependently" inset="2" id="0Tg-Jy-lFf">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="systemBold" size="14"/>
                     </buttonCell>
                     <connections>
-                        <action selector="buttonItemClicked_LicenseUpgrade:" target="-2" id="Cju-eK-iAZ"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="zY8-Ax-5UW"/>
                     </connections>
                 </button>
                 <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0ur-PV-kxY">
@@ -1518,16 +1513,16 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                             </textFieldCell>
                         </textField>
                         <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="u1v-EM-8Bp">
-                            <rect key="frame" x="87" y="20" width="115" height="15"/>
-                            <textFieldCell key="cell" alignment="center" title="one-time purchase" id="qC7-pK-mXD">
+                            <rect key="frame" x="64" y="20" width="162" height="15"/>
+                            <textFieldCell key="cell" alignment="center" title="Auto-renewal | Billed yearly" id="qC7-pK-mXD">
                                 <font key="font" metaFont="cellTitle"/>
                                 <color key="textColor" red="0.55294117649999996" green="0.55294117649999996" blue="0.55294117649999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="0.55294117649999996" green="0.55294117649999996" blue="0.55294117649999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </textFieldCell>
                         </textField>
                         <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Z2t-T7-CMh">
-                            <rect key="frame" x="126" y="0.0" width="37" height="16"/>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="a0F-6l-WNE">
+                            <rect key="frame" x="113" y="0.0" width="64" height="16"/>
+                            <textFieldCell key="cell" lineBreakMode="clipping" title="(Tax Incl.)" id="a0F-6l-WNE">
                                 <font key="font" usesAppearanceFont="YES"/>
                                 <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                 <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -1537,8 +1532,8 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                             <rect key="frame" x="0.0" y="62" width="289" height="64"/>
                             <subviews>
                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yl6-4d-E04">
-                                    <rect key="frame" x="-2" y="24" width="293" height="17"/>
-                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Permanen" id="6oh-fB-yXw">
+                                    <rect key="frame" x="-2" y="15" width="293" height="34"/>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="PDF Reader Pro Standard
Annual Plan" id="6oh-fB-yXw">
                                         <font key="font" metaFont="systemSemibold" size="14"/>
                                         <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
@@ -1573,13 +1568,9 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                 <constraint firstItem="YaA-Bf-f9V" firstAttribute="leading" secondItem="5cj-A5-MFN" secondAttribute="leading" constant="4.75" id="7BQ-d5-yAe"/>
                 <constraint firstItem="3Ik-8P-4RK" firstAttribute="centerY" secondItem="3QB-3J-VcS" secondAttribute="centerY" constant="2" id="8la-f7-VXZ"/>
                 <constraint firstAttribute="trailing" secondItem="0ur-PV-kxY" secondAttribute="trailing" id="9kf-ej-V6O"/>
-                <constraint firstItem="uve-Cj-mgc" firstAttribute="leading" secondItem="5cj-A5-MFN" secondAttribute="leading" id="DVL-T7-2Wr"/>
                 <constraint firstItem="3Ik-8P-4RK" firstAttribute="trailing" secondItem="ZEN-97-7fT" secondAttribute="trailing" id="LZU-nQ-IRZ"/>
                 <constraint firstItem="3Ik-8P-4RK" firstAttribute="centerX" secondItem="3QB-3J-VcS" secondAttribute="centerX" id="Rfn-t2-0hz"/>
-                <constraint firstItem="uve-Cj-mgc" firstAttribute="top" secondItem="5cj-A5-MFN" secondAttribute="top" id="RoV-Tp-ygg"/>
                 <constraint firstItem="3Ik-8P-4RK" firstAttribute="bottom" secondItem="ZEN-97-7fT" secondAttribute="bottom" id="U77-Bw-rwm"/>
-                <constraint firstAttribute="bottom" secondItem="uve-Cj-mgc" secondAttribute="bottom" constant="-10" id="giN-s4-1TH"/>
-                <constraint firstAttribute="trailing" secondItem="uve-Cj-mgc" secondAttribute="trailing" id="jpT-mD-ngq"/>
                 <constraint firstItem="3Ik-8P-4RK" firstAttribute="centerX" secondItem="5cj-A5-MFN" secondAttribute="centerX" id="kbg-fD-rST"/>
                 <constraint firstAttribute="bottom" secondItem="3Ik-8P-4RK" secondAttribute="bottom" constant="16" id="ozS-00-NXY"/>
                 <constraint firstItem="3Ik-8P-4RK" firstAttribute="top" secondItem="ZEN-97-7fT" secondAttribute="top" id="p1f-37-EfD"/>
@@ -1597,7 +1588,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                     <rect key="frame" x="0.0" y="-10" width="299" height="212"/>
                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="ComparativeBackground" id="tbr-y9-h9V"/>
                 </imageView>
-                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="SFA-A0-TRs" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <button tag="2" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="SFA-A0-TRs" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="90" y="16" width="120" height="40"/>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" imagePosition="overlaps" alignment="center" imageScaling="axesIndependently" inset="2" id="fjI-CT-M5Z">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1608,7 +1599,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <constraint firstAttribute="height" constant="40" id="uIb-xr-rLd"/>
                     </constraints>
                     <connections>
-                        <action selector="buttonItemClicked_LicenseUpgrade:" target="-2" id="432-wg-RAa"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="B3D-Np-IbR"/>
                     </connections>
                 </button>
                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="D71-TX-fVd">
@@ -1619,14 +1610,14 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JRG-Tt-bke" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <button tag="2" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JRG-Tt-bke" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="90" y="16" width="120" height="40"/>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" imagePosition="overlaps" alignment="center" imageScaling="axesIndependently" inset="2" id="BxF-VB-cFe">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="systemBold" size="14"/>
                     </buttonCell>
                     <connections>
-                        <action selector="buttonItemClicked_LicenseUpgrade:" target="-2" id="grr-JQ-m4Y"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="VhM-O5-7oH"/>
                     </connections>
                 </button>
                 <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="DQR-1s-l8u">
@@ -1649,16 +1640,16 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                             </textFieldCell>
                         </textField>
                         <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oie-PG-6He">
-                            <rect key="frame" x="87" y="20" width="115" height="15"/>
-                            <textFieldCell key="cell" alignment="center" title="one-time purchase" id="vaK-iW-5of">
+                            <rect key="frame" x="64" y="20" width="162" height="15"/>
+                            <textFieldCell key="cell" alignment="center" title="Auto-renewal | Billed yearly" id="vaK-iW-5of">
                                 <font key="font" metaFont="cellTitle"/>
                                 <color key="textColor" red="0.55294117649999996" green="0.55294117649999996" blue="0.55294117649999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="0.55294117649999996" green="0.55294117649999996" blue="0.55294117649999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </textFieldCell>
                         </textField>
                         <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0HH-bq-tk2">
-                            <rect key="frame" x="126" y="0.0" width="37" height="16"/>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="YkZ-Cd-Y3s">
+                            <rect key="frame" x="113" y="0.0" width="64" height="16"/>
+                            <textFieldCell key="cell" lineBreakMode="clipping" title="(Tax Incl.)" id="YkZ-Cd-Y3s">
                                 <font key="font" usesAppearanceFont="YES"/>
                                 <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                 <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -1668,8 +1659,8 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                             <rect key="frame" x="0.0" y="62" width="289" height="64"/>
                             <subviews>
                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ll7-An-0YH">
-                                    <rect key="frame" x="-2" y="24" width="293" height="17"/>
-                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Permanen" id="nN2-mJ-xpd">
+                                    <rect key="frame" x="-2" y="15" width="293" height="34"/>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="PDF Reader Pro Advanced
Annual Plan" id="nN2-mJ-xpd">
                                         <font key="font" metaFont="systemSemibold" size="14"/>
                                         <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
@@ -1724,11 +1715,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
             <rect key="frame" x="0.0" y="0.0" width="299" height="202"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Jia-uw-3zI">
-                    <rect key="frame" x="0.0" y="-10" width="299" height="212"/>
-                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="ComparativeBackground" id="3xx-yV-AdD"/>
-                </imageView>
-                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zmz-yq-8SZ" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <button tag="3" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zmz-yq-8SZ" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="90" y="16" width="120" height="40"/>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" imagePosition="overlaps" alignment="center" imageScaling="axesIndependently" inset="2" id="9jy-F5-8Ox">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1739,7 +1726,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <constraint firstAttribute="height" constant="40" id="bKt-uW-z4d"/>
                     </constraints>
                     <connections>
-                        <action selector="buttonItemClicked_LicenseUpgrade:" target="-2" id="yVv-3o-Zv4"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="ldu-GI-W5M"/>
                     </connections>
                 </button>
                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="w8I-Fc-Axv">
@@ -1750,14 +1737,14 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5cy-wO-SqL" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <button tag="3" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5cy-wO-SqL" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="90" y="16" width="120" height="40"/>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" imagePosition="overlaps" alignment="center" imageScaling="axesIndependently" inset="2" id="PEx-dX-RcI">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="systemBold" size="14"/>
                     </buttonCell>
                     <connections>
-                        <action selector="buttonItemClicked_LicenseUpgrade:" target="-2" id="8ga-pC-bnt"/>
+                        <action selector="appstorePurchaseAction:" target="-2" id="Fwa-9L-zZH"/>
                     </connections>
                 </button>
                 <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="sn9-km-1Vm">
@@ -1788,8 +1775,8 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                             </textFieldCell>
                         </textField>
                         <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ctO-mu-ddI">
-                            <rect key="frame" x="126" y="0.0" width="37" height="16"/>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="rmF-E9-TTg">
+                            <rect key="frame" x="113" y="0.0" width="64" height="16"/>
+                            <textFieldCell key="cell" lineBreakMode="clipping" title="(Tax Incl.)" id="rmF-E9-TTg">
                                 <font key="font" usesAppearanceFont="YES"/>
                                 <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                 <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -1800,7 +1787,7 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                             <subviews>
                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="snj-Zj-OvD">
                                     <rect key="frame" x="-2" y="24" width="293" height="17"/>
-                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Permanen" id="buB-bu-9Qo">
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="PDF Reader Pro Permanent" id="buB-bu-9Qo">
                                         <font key="font" metaFont="systemSemibold" size="14"/>
                                         <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
@@ -1833,13 +1820,9 @@ https://www.pdfreaderpro.com/privacy-policy</mutableString>
                 <constraint firstItem="zmz-yq-8SZ" firstAttribute="leading" secondItem="5cy-wO-SqL" secondAttribute="leading" id="10r-JG-S80"/>
                 <constraint firstItem="C1f-JL-m0e" firstAttribute="top" secondItem="XVZ-jI-UYX" secondAttribute="top" constant="12" id="5wk-q7-vqt"/>
                 <constraint firstAttribute="trailing" secondItem="sn9-km-1Vm" secondAttribute="trailing" id="7W3-lT-xjk"/>
-                <constraint firstAttribute="trailing" secondItem="Jia-uw-3zI" secondAttribute="trailing" id="CYv-md-7CQ"/>
                 <constraint firstItem="zmz-yq-8SZ" firstAttribute="trailing" secondItem="5cy-wO-SqL" secondAttribute="trailing" id="Gf7-Os-UA6"/>
-                <constraint firstItem="Jia-uw-3zI" firstAttribute="top" secondItem="XVZ-jI-UYX" secondAttribute="top" id="JLr-m6-4xh"/>
                 <constraint firstItem="zmz-yq-8SZ" firstAttribute="top" secondItem="5cy-wO-SqL" secondAttribute="top" id="LNq-Wk-bbq"/>
                 <constraint firstItem="zmz-yq-8SZ" firstAttribute="bottom" secondItem="5cy-wO-SqL" secondAttribute="bottom" id="QDx-ql-EOf"/>
-                <constraint firstAttribute="bottom" secondItem="Jia-uw-3zI" secondAttribute="bottom" constant="-10" id="Twz-UB-hYV"/>
-                <constraint firstItem="Jia-uw-3zI" firstAttribute="leading" secondItem="XVZ-jI-UYX" secondAttribute="leading" id="ZB2-q0-bN8"/>
                 <constraint firstAttribute="trailing" secondItem="C1f-JL-m0e" secondAttribute="trailing" constant="4.75" id="aJ4-95-CZA"/>
                 <constraint firstItem="zmz-yq-8SZ" firstAttribute="centerX" secondItem="w8I-Fc-Axv" secondAttribute="centerX" id="bwv-PZ-sI1"/>
                 <constraint firstItem="C1f-JL-m0e" firstAttribute="leading" secondItem="XVZ-jI-UYX" secondAttribute="leading" constant="4.75" id="cEb-pB-wI7"/>