Quellcode durchsuchen

【综合】整理代码

tangchao vor 1 Jahr
Ursprung
Commit
a10b145e3c
21 geänderte Dateien mit 1798 neuen und 17 gelöschten Zeilen
  1. 66 0
      PDF Office/PDF Master.xcodeproj/project.pbxproj
  2. 24 0
      PDF Office/PDF Master.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  3. 29 1
      PDF Office/PDF Master/AppDelegate.swift
  4. 4 0
      PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift
  5. 12 0
      PDF Office/PDF Master/Class/GuideInfo/GuideInfoImages.xcassets/Purchase/functionLimit_icon.imageset/Contents.json
  6. BIN
      PDF Office/PDF Master/Class/GuideInfo/GuideInfoImages.xcassets/Purchase/functionLimit_icon.imageset/functionLimit_icon.png
  7. 1 1
      PDF Office/PDF Master/Class/Home/WindowController/KMHomeWindowController.swift
  8. 11 10
      PDF Office/PDF Master/Class/KMLightMember/KMRequestServer/KMRequestServer.swift
  9. 87 0
      PDF Office/PDF Master/Class/PDFTools/Rate/KMRateWindowController.swift
  10. 109 0
      PDF Office/PDF Master/Class/PDFTools/Rate/KMRateWindowController.xib
  11. 196 0
      PDF Office/PDF Master/Class/PDFTools/Rate/iRate.h
  12. 1243 0
      PDF Office/PDF Master/Class/PDFTools/Rate/iRate.m
  13. BIN
      PDF Office/PDF Master/Class/PDFTools/Rate/resource/rate_pic_free.pdf
  14. BIN
      PDF Office/PDF Master/Class/PDFTools/Rate/resource/rate_pic_pro.pdf
  15. BIN
      PDF Office/PDF Master/Class/PDFTools/Rate/resource/rate_pic_star.pdf
  16. 1 1
      PDF Office/PDF Master/Class/Purchase/DMG/KMPurchaseLimitWindowController.xib
  17. 12 2
      PDF Office/PDF Master/Class/Purchase/IAPProductsManager.m
  18. 0 2
      PDF Office/PDF Master/Info.plist
  19. 1 0
      PDF Office/PDF Master/PDF_Master DMG-Bridging-Header.h
  20. 1 0
      PDF Office/PDF Master/PDF_Master Pro-Bridging-Header.h
  21. 1 0
      PDF Office/PDF Master/PDF_Master-Bridging-Header.h

+ 66 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -4291,6 +4291,24 @@
 		BBD7FE072A1323F500F96075 /* KMCustomTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899E0B082919244500B13D34 /* KMCustomTableRowView.swift */; };
 		BBD7FE072A1323F500F96075 /* KMCustomTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899E0B082919244500B13D34 /* KMCustomTableRowView.swift */; };
 		BBD7FE082A13241C00F96075 /* KMOutlineEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89DB5DA7291B8DE70029624F /* KMOutlineEditViewController.swift */; };
 		BBD7FE082A13241C00F96075 /* KMOutlineEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89DB5DA7291B8DE70029624F /* KMOutlineEditViewController.swift */; };
 		BBD7FE092A13241E00F96075 /* KMOutlineEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89DB5DA7291B8DE70029624F /* KMOutlineEditViewController.swift */; };
 		BBD7FE092A13241E00F96075 /* KMOutlineEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89DB5DA7291B8DE70029624F /* KMOutlineEditViewController.swift */; };
+		BBD9222B2B50D50A00DB9585 /* iRate.m in Sources */ = {isa = PBXBuildFile; fileRef = BBD922292B50D50900DB9585 /* iRate.m */; };
+		BBD9222C2B50D50A00DB9585 /* iRate.m in Sources */ = {isa = PBXBuildFile; fileRef = BBD922292B50D50900DB9585 /* iRate.m */; };
+		BBD9222D2B50D50A00DB9585 /* iRate.m in Sources */ = {isa = PBXBuildFile; fileRef = BBD922292B50D50900DB9585 /* iRate.m */; };
+		BBD9222F2B50D60000DB9585 /* KMRateWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD9222E2B50D60000DB9585 /* KMRateWindowController.swift */; };
+		BBD922302B50D60000DB9585 /* KMRateWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD9222E2B50D60000DB9585 /* KMRateWindowController.swift */; };
+		BBD922312B50D60000DB9585 /* KMRateWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD9222E2B50D60000DB9585 /* KMRateWindowController.swift */; };
+		BBD922332B50D61200DB9585 /* KMRateWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBD922322B50D61200DB9585 /* KMRateWindowController.xib */; };
+		BBD922342B50D61200DB9585 /* KMRateWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBD922322B50D61200DB9585 /* KMRateWindowController.xib */; };
+		BBD922352B50D61200DB9585 /* KMRateWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBD922322B50D61200DB9585 /* KMRateWindowController.xib */; };
+		BBD9223A2B50D6D600DB9585 /* rate_pic_pro.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922372B50D6D400DB9585 /* rate_pic_pro.pdf */; };
+		BBD9223B2B50D6D600DB9585 /* rate_pic_pro.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922372B50D6D400DB9585 /* rate_pic_pro.pdf */; };
+		BBD9223C2B50D6D600DB9585 /* rate_pic_pro.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922372B50D6D400DB9585 /* rate_pic_pro.pdf */; };
+		BBD9223D2B50D6D600DB9585 /* rate_pic_star.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922382B50D6D500DB9585 /* rate_pic_star.pdf */; };
+		BBD9223E2B50D6D600DB9585 /* rate_pic_star.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922382B50D6D500DB9585 /* rate_pic_star.pdf */; };
+		BBD9223F2B50D6D600DB9585 /* rate_pic_star.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922382B50D6D500DB9585 /* rate_pic_star.pdf */; };
+		BBD922402B50D6D600DB9585 /* rate_pic_free.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922392B50D6D600DB9585 /* rate_pic_free.pdf */; };
+		BBD922412B50D6D600DB9585 /* rate_pic_free.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922392B50D6D600DB9585 /* rate_pic_free.pdf */; };
+		BBD922422B50D6D600DB9585 /* rate_pic_free.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBD922392B50D6D600DB9585 /* rate_pic_free.pdf */; };
 		BBDA8A692A31B50C006A2C4E /* KMCustomStepperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */; };
 		BBDA8A692A31B50C006A2C4E /* KMCustomStepperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */; };
 		BBDA8A6A2A31B50C006A2C4E /* KMCustomStepperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */; };
 		BBDA8A6A2A31B50C006A2C4E /* KMCustomStepperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */; };
 		BBDA8A6B2A31B50C006A2C4E /* KMCustomStepperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */; };
 		BBDA8A6B2A31B50C006A2C4E /* KMCustomStepperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */; };
@@ -6378,6 +6396,13 @@
 		BBD4267E2B4FCF1500AC8660 /* KMTextFieldCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMTextFieldCell.swift; sourceTree = "<group>"; };
 		BBD4267E2B4FCF1500AC8660 /* KMTextFieldCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMTextFieldCell.swift; sourceTree = "<group>"; };
 		BBD512A02B0DE86C005BFE8A /* KMBotaLeftView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBotaLeftView.swift; sourceTree = "<group>"; };
 		BBD512A02B0DE86C005BFE8A /* KMBotaLeftView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBotaLeftView.swift; sourceTree = "<group>"; };
 		BBD54ED32A1CBD720012A230 /* NSView+KMExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSView+KMExtension.swift"; sourceTree = "<group>"; };
 		BBD54ED32A1CBD720012A230 /* NSView+KMExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSView+KMExtension.swift"; sourceTree = "<group>"; };
+		BBD922292B50D50900DB9585 /* iRate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iRate.m; sourceTree = "<group>"; };
+		BBD9222A2B50D50A00DB9585 /* iRate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iRate.h; sourceTree = "<group>"; };
+		BBD9222E2B50D60000DB9585 /* KMRateWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRateWindowController.swift; sourceTree = "<group>"; };
+		BBD922322B50D61200DB9585 /* KMRateWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMRateWindowController.xib; sourceTree = "<group>"; };
+		BBD922372B50D6D400DB9585 /* rate_pic_pro.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = rate_pic_pro.pdf; sourceTree = "<group>"; };
+		BBD922382B50D6D500DB9585 /* rate_pic_star.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = rate_pic_star.pdf; sourceTree = "<group>"; };
+		BBD922392B50D6D600DB9585 /* rate_pic_free.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = rate_pic_free.pdf; sourceTree = "<group>"; };
 		BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCustomStepperView.swift; sourceTree = "<group>"; };
 		BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCustomStepperView.swift; sourceTree = "<group>"; };
 		BBDA8A6C2A31F9A6006A2C4E /* KMDesignStepperView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMDesignStepperView.swift; sourceTree = "<group>"; };
 		BBDA8A6C2A31F9A6006A2C4E /* KMDesignStepperView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMDesignStepperView.swift; sourceTree = "<group>"; };
 		BBE0BDF229A22EF300440583 /* KMMainViewController+MenuAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KMMainViewController+MenuAction.swift"; sourceTree = "<group>"; };
 		BBE0BDF229A22EF300440583 /* KMMainViewController+MenuAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KMMainViewController+MenuAction.swift"; sourceTree = "<group>"; };
@@ -7190,6 +7215,7 @@
 		9F1F82C6292F631A0092C4B4 /* PDFTools */ = {
 		9F1F82C6292F631A0092C4B4 /* PDFTools */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				BBD922282B50D43800DB9585 /* Rate */,
 				BB24FFDA2B28576500A59054 /* TTS */,
 				BB24FFDA2B28576500A59054 /* TTS */,
 				BB1969D42B28429A00922736 /* Snapshot */,
 				BB1969D42B28429A00922736 /* Snapshot */,
 				ADE86A992B031FB500414DFA /* Compare */,
 				ADE86A992B031FB500414DFA /* Compare */,
@@ -11512,6 +11538,28 @@
 			path = Model;
 			path = Model;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
+		BBD922282B50D43800DB9585 /* Rate */ = {
+			isa = PBXGroup;
+			children = (
+				BBD922362B50D6B400DB9585 /* resource */,
+				BBD9222A2B50D50A00DB9585 /* iRate.h */,
+				BBD922292B50D50900DB9585 /* iRate.m */,
+				BBD9222E2B50D60000DB9585 /* KMRateWindowController.swift */,
+				BBD922322B50D61200DB9585 /* KMRateWindowController.xib */,
+			);
+			path = Rate;
+			sourceTree = "<group>";
+		};
+		BBD922362B50D6B400DB9585 /* resource */ = {
+			isa = PBXGroup;
+			children = (
+				BBD922392B50D6D600DB9585 /* rate_pic_free.pdf */,
+				BBD922372B50D6D400DB9585 /* rate_pic_pro.pdf */,
+				BBD922382B50D6D500DB9585 /* rate_pic_star.pdf */,
+			);
+			path = resource;
+			sourceTree = "<group>";
+		};
 		BBE75EA729A4B5CF00989BAF /* OutlineView */ = {
 		BBE75EA729A4B5CF00989BAF /* OutlineView */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
@@ -12535,6 +12583,7 @@
 				BB04FD102B206F4000D80F7B /* KMPlanViewController.xib in Resources */,
 				BB04FD102B206F4000D80F7B /* KMPlanViewController.xib in Resources */,
 				ADFCEB642B4FBFC50001EBAF /* ad_cancel_button00@2x.png in Resources */,
 				ADFCEB642B4FBFC50001EBAF /* ad_cancel_button00@2x.png in Resources */,
 				BB003018298CA446002DD1A0 /* KMPreferenceGeneralController.xib in Resources */,
 				BB003018298CA446002DD1A0 /* KMPreferenceGeneralController.xib in Resources */,
+				BBD9223A2B50D6D600DB9585 /* rate_pic_pro.pdf in Resources */,
 				ADBC376129CC637900D93208 /* KMReadModelView.xib in Resources */,
 				ADBC376129CC637900D93208 /* KMReadModelView.xib in Resources */,
 				ADDF83832B391A5D00A81A4E /* DSignatureSaveTypeViewController.xib in Resources */,
 				ADDF83832B391A5D00A81A4E /* DSignatureSaveTypeViewController.xib in Resources */,
 				AD1D480B2AFB18DA007AC1F0 /* KMCompressWIndowControllerNew.xib in Resources */,
 				AD1D480B2AFB18DA007AC1F0 /* KMCompressWIndowControllerNew.xib in Resources */,
@@ -12548,6 +12597,7 @@
 				BBB3769B2B10A7FD009539CC /* a_2a.png in Resources */,
 				BBB3769B2B10A7FD009539CC /* a_2a.png in Resources */,
 				BB1A916E2AFB7871005E5FD8 /* KMConvertWindowController.xib in Resources */,
 				BB1A916E2AFB7871005E5FD8 /* KMConvertWindowController.xib in Resources */,
 				AD3AAD272B0B6FB100DE5FE7 /* KMCompareContentView.xib in Resources */,
 				AD3AAD272B0B6FB100DE5FE7 /* KMCompareContentView.xib in Resources */,
+				BBD9223D2B50D6D600DB9585 /* rate_pic_star.pdf in Resources */,
 				BB1B0B042B4FC6E900889528 /* KMCustomColorGuideView.xib in Resources */,
 				BB1B0B042B4FC6E900889528 /* KMCustomColorGuideView.xib in Resources */,
 				BB853C672AF87502009C20C1 /* KMBatchOperateRemoveWatermarkViewController.xib in Resources */,
 				BB853C672AF87502009C20C1 /* KMBatchOperateRemoveWatermarkViewController.xib in Resources */,
 				8931684C296E436B0073EA59 /* KMSignatureWindowController.xib in Resources */,
 				8931684C296E436B0073EA59 /* KMSignatureWindowController.xib in Resources */,
@@ -12589,6 +12639,7 @@
 				BB49ED09293F461500C82CA2 /* KMConvertCSVWindowController.xib in Resources */,
 				BB49ED09293F461500C82CA2 /* KMConvertCSVWindowController.xib in Resources */,
 				9F1F82D5292F6D510092C4B4 /* KMPDFInsertPreviewViewController.xib in Resources */,
 				9F1F82D5292F6D510092C4B4 /* KMPDFInsertPreviewViewController.xib in Resources */,
 				ADC63E4B2A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib in Resources */,
 				ADC63E4B2A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib in Resources */,
+				BBD922332B50D61200DB9585 /* KMRateWindowController.xib in Resources */,
 				BB1E7F2C2B4FE2C6002D9785 /* GuideInfoImages.xcassets in Resources */,
 				BB1E7F2C2B4FE2C6002D9785 /* GuideInfoImages.xcassets in Resources */,
 				BBF62C742B0347D1007B7E86 /* SplitWindowController.xib in Resources */,
 				BBF62C742B0347D1007B7E86 /* SplitWindowController.xib in Resources */,
 				ADD1B6BF2942DD3D00C3FFF7 /* KMPrintChooseView.xib in Resources */,
 				ADD1B6BF2942DD3D00C3FFF7 /* KMPrintChooseView.xib in Resources */,
@@ -12701,6 +12752,7 @@
 				89E9B409295D268E00AEFA61 /* KMEditImagePropertyViewController.xib in Resources */,
 				89E9B409295D268E00AEFA61 /* KMEditImagePropertyViewController.xib in Resources */,
 				BB897249294C19980045787C /* KMWatermarkAdjectiveListController.xib in Resources */,
 				BB897249294C19980045787C /* KMWatermarkAdjectiveListController.xib in Resources */,
 				BB2E666229C885550000FEBC /* KMSignatureHelpViewController.xib in Resources */,
 				BB2E666229C885550000FEBC /* KMSignatureHelpViewController.xib in Resources */,
+				BBD922402B50D6D600DB9585 /* rate_pic_free.pdf in Resources */,
 				ADF1569729A62D31001D1018 /* KMLoginLeftImageView.xib in Resources */,
 				ADF1569729A62D31001D1018 /* KMLoginLeftImageView.xib in Resources */,
 				BB5DF1F42959C9F00025CDA1 /* KMHeaderFooterPropertyMainController.xib in Resources */,
 				BB5DF1F42959C9F00025CDA1 /* KMHeaderFooterPropertyMainController.xib in Resources */,
 				ADD1B6DB2946BE1700C3FFF7 /* KMPrintChoosePageSizeView.xib in Resources */,
 				ADD1B6DB2946BE1700C3FFF7 /* KMPrintChoosePageSizeView.xib in Resources */,
@@ -12856,6 +12908,7 @@
 				ADDF83632B391A5C00A81A4E /* DSignatureFromFileViewController.xib in Resources */,
 				ADDF83632B391A5C00A81A4E /* DSignatureFromFileViewController.xib in Resources */,
 				ADDF83992B391A5D00A81A4E /* PDFCertExportAccessoryView.xib in Resources */,
 				ADDF83992B391A5D00A81A4E /* PDFCertExportAccessoryView.xib in Resources */,
 				ADBC372529CA923E00D93208 /* KMComparative.plist in Resources */,
 				ADBC372529CA923E00D93208 /* KMComparative.plist in Resources */,
+				BBD922342B50D61200DB9585 /* KMRateWindowController.xib in Resources */,
 				ADBC373829CA975B00D93208 /* KMCompatative.xcassets in Resources */,
 				ADBC373829CA975B00D93208 /* KMCompatative.xcassets in Resources */,
 				BB4EEF3129763EE7003A3537 /* KMRedactBaseWindowController.xib in Resources */,
 				BB4EEF3129763EE7003A3537 /* KMRedactBaseWindowController.xib in Resources */,
 				BB1B0B082B4FC6E900889528 /* KMGuideCoverView.xib in Resources */,
 				BB1B0B082B4FC6E900889528 /* KMGuideCoverView.xib in Resources */,
@@ -12990,6 +13043,7 @@
 				8997010A28F4082C009AF911 /* KMFromViewController.xib in Resources */,
 				8997010A28F4082C009AF911 /* KMFromViewController.xib in Resources */,
 				9F00CF552A38657400AC462E /* GoogleService-Info.plist in Resources */,
 				9F00CF552A38657400AC462E /* GoogleService-Info.plist in Resources */,
 				894A00F62976314C0070ED83 /* KMPDFViewPanelSetViewController.xib in Resources */,
 				894A00F62976314C0070ED83 /* KMPDFViewPanelSetViewController.xib in Resources */,
+				BBD9223B2B50D6D600DB9585 /* rate_pic_pro.pdf in Resources */,
 				9F02016E2A1B088700C9B673 /* KMAIOpenPDFFilesVC.xib in Resources */,
 				9F02016E2A1B088700C9B673 /* KMAIOpenPDFFilesVC.xib in Resources */,
 				AD3AAD282B0B6FB100DE5FE7 /* KMCompareContentView.xib in Resources */,
 				AD3AAD282B0B6FB100DE5FE7 /* KMCompareContentView.xib in Resources */,
 				BBC4F9EF2AEB58470098A1A8 /* KMAlertWindowController.xib in Resources */,
 				BBC4F9EF2AEB58470098A1A8 /* KMAlertWindowController.xib in Resources */,
@@ -13035,6 +13089,7 @@
 				ADD1B6AF2941E97F00C3FFF7 /* KMPrintWindowController.xib in Resources */,
 				ADD1B6AF2941E97F00C3FFF7 /* KMPrintWindowController.xib in Resources */,
 				9FA607E228FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
 				9FA607E228FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
 				ADD1B6DC2946BE1700C3FFF7 /* KMPrintChoosePageSizeView.xib in Resources */,
 				ADD1B6DC2946BE1700C3FFF7 /* KMPrintChoosePageSizeView.xib in Resources */,
+				BBD922412B50D6D600DB9585 /* rate_pic_free.pdf in Resources */,
 				BBA19F3329ADAC81001A285A /* signPicture_hover.pdf in Resources */,
 				BBA19F3329ADAC81001A285A /* signPicture_hover.pdf in Resources */,
 				ADD1B6F12946C06C00C3FFF7 /* KMPrintChoosePageSizeSizeView.xib in Resources */,
 				ADD1B6F12946C06C00C3FFF7 /* KMPrintChoosePageSizeSizeView.xib in Resources */,
 				9FDD0FA02952FF4D000C4DAD /* global.json in Resources */,
 				9FDD0FA02952FF4D000C4DAD /* global.json in Resources */,
@@ -13210,6 +13265,7 @@
 				9FBA0F0229015A82001117AF /* KMFastToolCollectionViewItem.xib in Resources */,
 				9FBA0F0229015A82001117AF /* KMFastToolCollectionViewItem.xib in Resources */,
 				ADE86AB22B03438400414DFA /* KMWatermarkWindowController.xib in Resources */,
 				ADE86AB22B03438400414DFA /* KMWatermarkWindowController.xib in Resources */,
 				BBFE6E712930D9C600142C01 /* KMMergeSettingWindowController.xib in Resources */,
 				BBFE6E712930D9C600142C01 /* KMMergeSettingWindowController.xib in Resources */,
+				BBD9223E2B50D6D600DB9585 /* rate_pic_star.pdf in Resources */,
 				BB6347B92AF224E200F5438E /* KMConvertCollectionViewHeader.xib in Resources */,
 				BB6347B92AF224E200F5438E /* KMConvertCollectionViewHeader.xib in Resources */,
 				ADD1B6FD2946C0D400C3FFF7 /* KMPrintChoosePageSizePamphletView.xib in Resources */,
 				ADD1B6FD2946C0D400C3FFF7 /* KMPrintChoosePageSizePamphletView.xib in Resources */,
 				BB276A5D2B038D3A00AB5578 /* KMOCRPDFWindowController.xib in Resources */,
 				BB276A5D2B038D3A00AB5578 /* KMOCRPDFWindowController.xib in Resources */,
@@ -13482,6 +13538,7 @@
 				89E9B3FB295BE2EC00AEFA61 /* KMEditPDFTextPropertyViewController.xib in Resources */,
 				89E9B3FB295BE2EC00AEFA61 /* KMEditPDFTextPropertyViewController.xib in Resources */,
 				ADFCEB662B4FBFC50001EBAF /* ad_cancel_button00@2x.png in Resources */,
 				ADFCEB662B4FBFC50001EBAF /* ad_cancel_button00@2x.png in Resources */,
 				9F02018B2A1DA28B00C9B673 /* KMAILanguagePopVC.xib in Resources */,
 				9F02018B2A1DA28B00C9B673 /* KMAILanguagePopVC.xib in Resources */,
+				BBD9223C2B50D6D600DB9585 /* rate_pic_pro.pdf in Resources */,
 				AD58F41C2B1DAC1500299EE0 /* KMPrintSettingView.xib in Resources */,
 				AD58F41C2B1DAC1500299EE0 /* KMPrintSettingView.xib in Resources */,
 				BB1EC8032967B26700EC0BC3 /* KMPDFEditViewController.xib in Resources */,
 				BB1EC8032967B26700EC0BC3 /* KMPDFEditViewController.xib in Resources */,
 				ADDF83852B391A5D00A81A4E /* DSignatureSaveTypeViewController.xib in Resources */,
 				ADDF83852B391A5D00A81A4E /* DSignatureSaveTypeViewController.xib in Resources */,
@@ -13495,6 +13552,7 @@
 				BB6DD81129347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				BB6DD81129347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				BB49ECE2293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
 				BB49ECE2293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
 				ADD1B6D129431D7100C3FFF7 /* KMPrintPreviewView.xib in Resources */,
 				ADD1B6D129431D7100C3FFF7 /* KMPrintPreviewView.xib in Resources */,
+				BBD9223F2B50D6D600DB9585 /* rate_pic_star.pdf in Resources */,
 				BB1B0B062B4FC6E900889528 /* KMCustomColorGuideView.xib in Resources */,
 				BB1B0B062B4FC6E900889528 /* KMCustomColorGuideView.xib in Resources */,
 				BB6347B22AF1F0BB00F5438E /* KMBatchOperateConvertViewController.xib in Resources */,
 				BB6347B22AF1F0BB00F5438E /* KMBatchOperateConvertViewController.xib in Resources */,
 				AD3AAD322B0B700500DE5FE7 /* KMCompareCoveringView.xib in Resources */,
 				AD3AAD322B0B700500DE5FE7 /* KMCompareCoveringView.xib in Resources */,
@@ -13536,6 +13594,7 @@
 				BB04FD122B206F4000D80F7B /* KMPlanViewController.xib in Resources */,
 				BB04FD122B206F4000D80F7B /* KMPlanViewController.xib in Resources */,
 				AD199DE32B200FB000D56FEE /* KMPrintPosterView.xib in Resources */,
 				AD199DE32B200FB000D56FEE /* KMPrintPosterView.xib in Resources */,
 				9F8539DC294318D600DF644E /* TabsImage.xcassets in Resources */,
 				9F8539DC294318D600DF644E /* TabsImage.xcassets in Resources */,
+				BBD922352B50D61200DB9585 /* KMRateWindowController.xib in Resources */,
 				BB1E7F2E2B4FE2C6002D9785 /* GuideInfoImages.xcassets in Resources */,
 				BB1E7F2E2B4FE2C6002D9785 /* GuideInfoImages.xcassets in Resources */,
 				BBC745EF295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
 				BBC745EF295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
 				BBAFC84F298519F700D0648E /* KMSavePanelAccessoryController.xib in Resources */,
 				BBAFC84F298519F700D0648E /* KMSavePanelAccessoryController.xib in Resources */,
@@ -13648,6 +13707,7 @@
 				BBFBE74B28DD7DDE008B2335 /* Main.storyboard in Resources */,
 				BBFBE74B28DD7DDE008B2335 /* Main.storyboard in Resources */,
 				BBC348582958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */,
 				BBC348582958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */,
 				9FDD0FA42952FF4D000C4DAD /* $themes.json in Resources */,
 				9FDD0FA42952FF4D000C4DAD /* $themes.json in Resources */,
+				BBD922422B50D6D600DB9585 /* rate_pic_free.pdf in Resources */,
 				AD1D48542AFB8510007AC1F0 /* KMMergeTableViewCell.xib in Resources */,
 				AD1D48542AFB8510007AC1F0 /* KMMergeTableViewCell.xib in Resources */,
 				BB4F7E932B0C80000077EC8C /* KMNoteColorCollectionViewItem.xib in Resources */,
 				BB4F7E932B0C80000077EC8C /* KMNoteColorCollectionViewItem.xib in Resources */,
 				9FF816E32AFA5BA80087EFC5 /* KMAnnotationTableViewController.xib in Resources */,
 				9FF816E32AFA5BA80087EFC5 /* KMAnnotationTableViewController.xib in Resources */,
@@ -13851,6 +13911,7 @@
 				899700F628F4051B009AF911 /* KMAnnotationViewController.swift in Sources */,
 				899700F628F4051B009AF911 /* KMAnnotationViewController.swift in Sources */,
 				F359916929261F0D000D25DE /* CPDFListView+Tool.m in Sources */,
 				F359916929261F0D000D25DE /* CPDFListView+Tool.m in Sources */,
 				9F3D819329A33A290087B5AD /* KMDesignDropdown.swift in Sources */,
 				9F3D819329A33A290087B5AD /* KMDesignDropdown.swift in Sources */,
+				BBD9222B2B50D50A00DB9585 /* iRate.m in Sources */,
 				9F0CB47F2967F64D00007028 /* KMPropertiesPanelReadOnlySubVC.swift in Sources */,
 				9F0CB47F2967F64D00007028 /* KMPropertiesPanelReadOnlySubVC.swift in Sources */,
 				BB8810C42B4F95A900AFA63E /* NSObject+DeviceInfo.m in Sources */,
 				BB8810C42B4F95A900AFA63E /* NSObject+DeviceInfo.m in Sources */,
 				BB2EDF76296ECE17003BCF58 /* KMPageEditInsertPageSizeItemView.swift in Sources */,
 				BB2EDF76296ECE17003BCF58 /* KMPageEditInsertPageSizeItemView.swift in Sources */,
@@ -13936,6 +13997,7 @@
 				ADDF839B2B391A5D00A81A4E /* PDFCertExportAccessoryView.swift in Sources */,
 				ADDF839B2B391A5D00A81A4E /* PDFCertExportAccessoryView.swift in Sources */,
 				9F0CB4E52986557F00007028 /* KMDesignToken+PaddingRight.swift in Sources */,
 				9F0CB4E52986557F00007028 /* KMDesignToken+PaddingRight.swift in Sources */,
 				BB86C1ED28F544F4005AD968 /* CPDFListView+Event.m in Sources */,
 				BB86C1ED28F544F4005AD968 /* CPDFListView+Event.m in Sources */,
+				BBD9222F2B50D60000DB9585 /* KMRateWindowController.swift in Sources */,
 				BB3AAB992987BEA900992A5A /* KMWatermarkPDFView_OC.m in Sources */,
 				BB3AAB992987BEA900992A5A /* KMWatermarkPDFView_OC.m in Sources */,
 				9FB220F12B1863C800A5B208 /* KMAnnotationFromSignature.swift in Sources */,
 				9FB220F12B1863C800A5B208 /* KMAnnotationFromSignature.swift in Sources */,
 				BB7FF5072A60E84400901C2D /* KMEnumExtensions.swift in Sources */,
 				BB7FF5072A60E84400901C2D /* KMEnumExtensions.swift in Sources */,
@@ -14829,6 +14891,7 @@
 				BBA9222C2B4E96450061057A /* KMPurchaseCompareWindowController.m in Sources */,
 				BBA9222C2B4E96450061057A /* KMPurchaseCompareWindowController.m in Sources */,
 				BB8F4540295A98960037EA22 /* KMHeaderFooterPropertyController.swift in Sources */,
 				BB8F4540295A98960037EA22 /* KMHeaderFooterPropertyController.swift in Sources */,
 				ADBC373D29CA9AE100D93208 /* KMComparativeManager.swift in Sources */,
 				ADBC373D29CA9AE100D93208 /* KMComparativeManager.swift in Sources */,
+				BBD922302B50D60000DB9585 /* KMRateWindowController.swift in Sources */,
 				BB147009299DC0D100784A6A /* OIDRegistrationRequest.m in Sources */,
 				BB147009299DC0D100784A6A /* OIDRegistrationRequest.m in Sources */,
 				BBBB6CDB2AD15B900035AA66 /* CPDFFreeTextAnnotation+PDFListView.swift in Sources */,
 				BBBB6CDB2AD15B900035AA66 /* CPDFFreeTextAnnotation+PDFListView.swift in Sources */,
 				BBEFD01D2AF9E5AA003FABD8 /* KMBatchOperateAddHeaderFooterViewController.swift in Sources */,
 				BBEFD01D2AF9E5AA003FABD8 /* KMBatchOperateAddHeaderFooterViewController.swift in Sources */,
@@ -15140,6 +15203,7 @@
 				ADDF83212B391A5C00A81A4E /* KMPDFDigitalSignViewController.swift in Sources */,
 				ADDF83212B391A5C00A81A4E /* KMPDFDigitalSignViewController.swift in Sources */,
 				BBF38A5F294F42FF0086D025 /* KMWatermarkAdjectiveStepper.swift in Sources */,
 				BBF38A5F294F42FF0086D025 /* KMWatermarkAdjectiveStepper.swift in Sources */,
 				ADBC17502A2991F700959CEE /* KMPurchaseManager.swift in Sources */,
 				ADBC17502A2991F700959CEE /* KMPurchaseManager.swift in Sources */,
+				BBD9222C2B50D50A00DB9585 /* iRate.m in Sources */,
 				ADDEEA4A2AD38BDB00EF675D /* KMSignatureHelpViewController.swift in Sources */,
 				ADDEEA4A2AD38BDB00EF675D /* KMSignatureHelpViewController.swift in Sources */,
 				BB003027298CF7EC002DD1A0 /* KMPreferenceDisplayController.swift in Sources */,
 				BB003027298CF7EC002DD1A0 /* KMPreferenceDisplayController.swift in Sources */,
 				F36AD77829642FE80015AD53 /* CPDFListView+UndoManager.m in Sources */,
 				F36AD77829642FE80015AD53 /* CPDFListView+UndoManager.m in Sources */,
@@ -16318,6 +16382,7 @@
 				BB4EEF3A2976451E003A3537 /* KMRedactContentBaseView.swift in Sources */,
 				BB4EEF3A2976451E003A3537 /* KMRedactContentBaseView.swift in Sources */,
 				BB853C9F2AF8E436009C20C1 /* KMBatchRemovePasswordOperation.swift in Sources */,
 				BB853C9F2AF8E436009C20C1 /* KMBatchRemovePasswordOperation.swift in Sources */,
 				ADE3C1E629A5ABC200793B13 /* KMLoginWindowController.swift in Sources */,
 				ADE3C1E629A5ABC200793B13 /* KMLoginWindowController.swift in Sources */,
+				BBD922312B50D60000DB9585 /* KMRateWindowController.swift in Sources */,
 				BBC3483029559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
 				BBC3483029559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
 				BB146FE9299DC0D100784A6A /* GTLRQuery.m in Sources */,
 				BB146FE9299DC0D100784A6A /* GTLRQuery.m in Sources */,
 				BBFEF7152B3A766C00C28AC0 /* KMSystemMenu.swift in Sources */,
 				BBFEF7152B3A766C00C28AC0 /* KMSystemMenu.swift in Sources */,
@@ -16394,6 +16459,7 @@
 				BB7648EE29ECEEF400931039 /* KMAppearance.swift in Sources */,
 				BB7648EE29ECEEF400931039 /* KMAppearance.swift in Sources */,
 				BB4A94932B04926700940F8B /* KMGOCROperation.swift in Sources */,
 				BB4A94932B04926700940F8B /* KMGOCROperation.swift in Sources */,
 				BB8B9A032B355EFB00A066EC /* KMLeftSideViewController+Outline.swift in Sources */,
 				BB8B9A032B355EFB00A066EC /* KMLeftSideViewController+Outline.swift in Sources */,
+				BBD9222D2B50D50A00DB9585 /* iRate.m in Sources */,
 				9FDD0F8E2952FCE0000C4DAD /* KMGlobalParser.swift in Sources */,
 				9FDD0F8E2952FCE0000C4DAD /* KMGlobalParser.swift in Sources */,
 				BBC348352955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
 				BBC348352955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
 				89E4E757296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */,
 				89E4E757296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */,

+ 24 - 0
PDF Office/PDF Master.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -3,4 +3,28 @@
    uuid = "25669649-3D95-4773-928D-C3D391DCBBDC"
    uuid = "25669649-3D95-4773-928D-C3D391DCBBDC"
    type = "1"
    type = "1"
    version = "2.0">
    version = "2.0">
+<<<<<<< HEAD
+=======
+<<<<<<< HEAD
+=======
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "6C77BAB5-1BC3-4EC6-8DA6-56C651373D79"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/Purchase/IAPProductsManager.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "389"
+            endingLineNumber = "389"
+            landmarkName = "-loadReceipt:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
+>>>>>>> cc10cd3710788ceaba40307634cc74c7868bc409
+>>>>>>> a65d3bc54c7fd867e64b9943022edd9a860a2f2c
 </Bucket>
 </Bucket>

Datei-Diff unterdrückt, da er zu groß ist
+ 29 - 1
PDF Office/PDF Master/AppDelegate.swift


+ 4 - 0
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift

@@ -77,6 +77,10 @@ import Cocoa
         return true
         return true
     }
     }
     
     
+    override func windowWillClose(_ notification: Notification) {
+        iRate.sharedInstance().appLaunched()
+    }
+    
     override func layoutSubviews() {
     override func layoutSubviews() {
         super.layoutSubviews()
         super.layoutSubviews()
         
         

+ 12 - 0
PDF Office/PDF Master/Class/GuideInfo/GuideInfoImages.xcassets/Purchase/functionLimit_icon.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "functionLimit_icon.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Master/Class/GuideInfo/GuideInfoImages.xcassets/Purchase/functionLimit_icon.imageset/functionLimit_icon.png


+ 1 - 1
PDF Office/PDF Master/Class/Home/WindowController/KMHomeWindowController.swift

@@ -7,7 +7,7 @@
 
 
 import Cocoa
 import Cocoa
 
 
-class KMHomeWindowController: NSWindowController {
+class KMHomeWindowController: NSWindowController, NSWindowDelegate{
     
     
     var homeViewController : KMHomeViewController!
     var homeViewController : KMHomeViewController!
 
 

+ 11 - 10
PDF Office/PDF Master/Class/KMLightMember/KMRequestServer/KMRequestServer.swift

@@ -8,18 +8,18 @@
 import Cocoa
 import Cocoa
 import AFNetworking
 import AFNetworking
 
 
-enum KMRequestServerMethodType: String, CaseIterable {
-    case post = "POST"
-    case get = "GET"
-    case put = "PUT"
-    case delete = "DELETE"
+@objc public enum KMRequestServerMethodType: Int {
+    case post = 0
+    case get
+    case put
+    case delete
 }
 }
 
 
 typealias KMHttpRequestServerComplete = (_ task: URLSessionDataTask?, _ responseObject: AnyObject?, _ error: NSError?) -> Void
 typealias KMHttpRequestServerComplete = (_ task: URLSessionDataTask?, _ responseObject: AnyObject?, _ error: NSError?) -> Void
 @objcMembers class KMRequestServer: NSObject {
 @objcMembers class KMRequestServer: NSObject {
-    var sessionManager: AFHTTPSessionManager!
-    static let requestServer = KMRequestServer()
-    var task: URLSessionTask?
+    @objc var sessionManager: AFHTTPSessionManager!
+    @objc static let requestServer = KMRequestServer()
+    @objc var task: URLSessionTask?
     
     
     override init() {
     override init() {
         super.init()
         super.init()
@@ -29,10 +29,11 @@ typealias KMHttpRequestServerComplete = (_ task: URLSessionDataTask?, _ response
         sessionManager.securityPolicy = AFSecurityPolicy.default()
         sessionManager.securityPolicy = AFSecurityPolicy.default()
     }
     }
     
     
-    func request(urlString: String,
+    public func request(urlString: String,
                  method: KMRequestServerMethodType,
                  method: KMRequestServerMethodType,
                  params: Dictionary<String, Any>?,
                  params: Dictionary<String, Any>?,
-                 completion: KMHttpRequestServerComplete?) -> Void {
+                 completion: KMHttpRequestServerComplete?) -> Void
+    {
         self.request(urlString: urlString,
         self.request(urlString: urlString,
                      method: method,
                      method: method,
                      params: params,
                      params: params,

+ 87 - 0
PDF Office/PDF Master/Class/PDFTools/Rate/KMRateWindowController.swift

@@ -0,0 +1,87 @@
+//
+//  KMRateWindowController.swift
+//  PDF Master
+//
+//  Created by liujiajie on 2024/1/12.
+//
+
+import Cocoa
+
+typealias rateCloseBlock = (_ wc: KMRateWindowController) -> ()
+
+class KMRateWindow: NSWindow{
+    override func close() {
+        super.close()
+        self.orderOut(self.windowController)
+    }
+}
+
+class KMRateWindowController: NSWindowController, NSWindowDelegate{
+    @IBOutlet var imageView: NSImageView!
+    @IBOutlet var rateUsButton: NSButton!
+    @IBOutlet var feedBackButton: NSButton!
+    @IBOutlet var introduceLabel: NSTextField!
+    
+    var closeBlock: rateCloseBlock?
+    
+    convenience init() {
+        self.init(windowNibName: "KMRateWindowController")
+    }
+    
+    override func windowDidLoad() {
+        super.windowDidLoad()
+        self.window?.title = NSLocalizedString("Rate Us", comment: "")
+        
+        self.introduceLabel.stringValue = NSLocalizedString("We would appreciate your input! \nPlease take one minute to give us a great review on the App Store to help other people make a right decision.", comment: "")
+        
+#if VERSION_FREE
+        self.imageView.image = NSImage(named: "rate_pic_free")
+#else
+        self.imageView.image = NSImage(named: "rate_pic_pro")
+#endif
+        
+        //Title Color
+        let ps = NSMutableParagraphStyle()
+        ps.alignment = NSTextAlignment.center
+        let color = NSColor.white
+        let color1 = NSColor(red: 26/255.0, green: 136/255.0, blue: 255/255.0, alpha: 1)
+        let textDictionary: [NSAttributedString.Key: Any] = [NSAttributedString.Key.foregroundColor: color, NSAttributedString.Key.paragraphStyle: ps, NSAttributedString.Key.font: NSFont.systemFont(ofSize: 13)]
+        let textDictionary1: [NSAttributedString.Key: Any] = [NSAttributedString.Key.foregroundColor: color1, NSAttributedString.Key.paragraphStyle: ps, NSAttributedString.Key.font: NSFont.systemFont(ofSize: 13)]
+        let rateUsButtonString = NSMutableAttributedString(string: NSLocalizedString("Give a 5-Star", comment: ""), attributes: textDictionary)
+        self.rateUsButton.attributedTitle = rateUsButtonString
+        let feedBackButtonString = NSMutableAttributedString(string: NSLocalizedString("Give a suggestion", comment: ""), attributes: textDictionary1)
+        self.feedBackButton.attributedTitle = feedBackButtonString
+        
+        self.rateUsButton.wantsLayer = true
+        self.rateUsButton.layer?.backgroundColor = color1.cgColor
+        self.feedBackButton.wantsLayer = true
+        self.feedBackButton.layer?.backgroundColor = NSColor(red: 235/255.0, green: 245/255.0, blue: 255/255.0, alpha: 1).cgColor
+        
+        self.rateUsButton.layer?.cornerRadius = 4
+        self.feedBackButton.layer?.cornerRadius = 4
+        
+        iRate.sharedInstance().lastReminded = Date()
+    }
+    func windowShouldClose(_ sender: NSWindow) -> Bool {
+        iRate.sharedInstance().remindMeLater()
+        return true
+    }
+    @IBAction func rateUsAction(_ sender: Any) {
+        iRate.sharedInstance().ratedThisVersion = true
+        iRate.sharedInstance().openRatingsPageInAppStore()
+        close()
+    }
+    
+    @IBAction func feedBackAction(_ sender: Any) {
+        iRate.sharedInstance().remindMeLater()
+        close()
+    }
+    
+    override func close() {
+        if (self.closeBlock != nil) {
+            closeBlock!(self)
+        }
+    }
+}
+
+

+ 109 - 0
PDF Office/PDF Master/Class/PDFTools/Rate/KMRateWindowController.xib

@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMRateWindowController" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="feedBackButton" destination="UQQ-GL-lV0" id="a9h-yP-Xst"/>
+                <outlet property="imageView" destination="lRh-he-ZDq" id="C3r-9K-pMQ"/>
+                <outlet property="introduceLabel" destination="sqx-rN-lhJ" id="eRT-22-WE9"/>
+                <outlet property="rateUsButton" destination="BRI-yO-btH" id="Bk7-QT-4Hd"/>
+                <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <window title="Rating" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="alertPanel" id="F0z-JX-Cv5" customClass="KMRateWindow">
+            <windowStyleMask key="styleMask" titled="YES" closable="YES"/>
+            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
+            <rect key="contentRect" x="498" y="189" width="390" height="477"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
+            <view key="contentView" id="se5-gp-TjO">
+                <rect key="frame" x="0.0" y="0.0" width="390" height="424"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <button translatesAutoresizingMaskIntoConstraints="NO" id="UQQ-GL-lV0">
+                        <rect key="frame" x="58" y="32" width="274" height="36"/>
+                        <buttonCell key="cell" type="square" title="Feed back" bezelStyle="shadowlessSquare" imagePosition="left" alignment="center" inset="2" id="REn-rc-b9x">
+                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                            <font key="font" metaFont="system"/>
+                        </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="274" id="Laf-Bp-ECe"/>
+                            <constraint firstAttribute="height" constant="36" id="WRB-Gn-arL"/>
+                        </constraints>
+                        <connections>
+                            <action selector="feedBackAction:" target="-2" id="7oA-5z-9uj"/>
+                        </connections>
+                    </button>
+                    <button translatesAutoresizingMaskIntoConstraints="NO" id="BRI-yO-btH">
+                        <rect key="frame" x="58" y="80" width="274" height="36"/>
+                        <buttonCell key="cell" type="square" title="Rate us" bezelStyle="shadowlessSquare" imagePosition="left" alignment="center" inset="2" id="nNH-AP-heL">
+                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                            <font key="font" metaFont="system"/>
+                        </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="36" id="Ed0-xL-sud"/>
+                            <constraint firstAttribute="width" constant="274" id="QgL-ri-bqM"/>
+                        </constraints>
+                        <connections>
+                            <action selector="rateUsAction:" target="-2" id="5Ur-16-Sbe"/>
+                        </connections>
+                    </button>
+                    <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="lRh-he-ZDq">
+                        <rect key="frame" x="31" y="238" width="328" height="170"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="170" id="MWo-JK-SJ1"/>
+                            <constraint firstAttribute="width" constant="328" id="cAN-XZ-qny"/>
+                        </constraints>
+                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="rate_pic_free" id="eeV-2F-PIZ"/>
+                    </imageView>
+                    <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="U18-cj-xED">
+                        <rect key="frame" x="93" y="204" width="205" height="28"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="28" id="PMJ-5X-kVV"/>
+                            <constraint firstAttribute="width" constant="205" id="bEL-m7-Xof"/>
+                        </constraints>
+                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="rate_pic_star" id="DOa-cw-FtN"/>
+                    </imageView>
+                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sqx-rN-lhJ">
+                        <rect key="frame" x="56" y="136" width="278" height="48"/>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="274" id="pA4-DY-RQh"/>
+                        </constraints>
+                        <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Please, take a minute of your time to review PDF Reader Pro on the App Store to help other people make a right decision." id="sg7-U6-uNg">
+                            <font key="font" metaFont="system"/>
+                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                            <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                        </textFieldCell>
+                    </textField>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="lRh-he-ZDq" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="16" id="2VF-VD-eyd"/>
+                    <constraint firstItem="U18-cj-xED" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="4uR-w1-r8a"/>
+                    <constraint firstItem="UQQ-GL-lV0" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="CJk-N4-66E"/>
+                    <constraint firstItem="sqx-rN-lhJ" firstAttribute="top" secondItem="U18-cj-xED" secondAttribute="bottom" constant="20" id="Fa4-y8-4aS"/>
+                    <constraint firstItem="BRI-yO-btH" firstAttribute="top" secondItem="sqx-rN-lhJ" secondAttribute="bottom" constant="20" id="IWm-kC-Q81"/>
+                    <constraint firstItem="UQQ-GL-lV0" firstAttribute="top" secondItem="BRI-yO-btH" secondAttribute="bottom" constant="12" id="OyA-rU-3nb"/>
+                    <constraint firstItem="sqx-rN-lhJ" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="Rtm-Jd-wgp"/>
+                    <constraint firstAttribute="bottom" secondItem="UQQ-GL-lV0" secondAttribute="bottom" constant="32" id="Wvp-iY-dSd"/>
+                    <constraint firstItem="U18-cj-xED" firstAttribute="top" secondItem="lRh-he-ZDq" secondAttribute="bottom" constant="6" id="dXv-Ih-P33"/>
+                    <constraint firstItem="BRI-yO-btH" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="f9J-00-wf1"/>
+                    <constraint firstItem="lRh-he-ZDq" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="xkV-4P-hXe"/>
+                </constraints>
+            </view>
+            <connections>
+                <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
+            </connections>
+            <point key="canvasLocation" x="139" y="147"/>
+        </window>
+    </objects>
+    <resources>
+        <image name="rate_pic_free" width="328" height="170"/>
+        <image name="rate_pic_star" width="205" height="28"/>
+    </resources>
+</document>

+ 196 - 0
PDF Office/PDF Master/Class/PDFTools/Rate/iRate.h

@@ -0,0 +1,196 @@
+//
+//  iRate.h
+//
+//  Version 1.7.4
+//
+//  Created by Nick Lockwood on 26/01/2011.
+//  Copyright 2011 Charcoal Design
+//
+//  Distributed under the permissive zlib license
+//  Get the latest version from here:
+//
+//  https://github.com/nicklockwood/iRate
+//
+//  This software is provided 'as-is', without any express or implied
+//  warranty.  In no event will the authors be held liable for any damages
+//  arising from the use of this software.
+//
+//  Permission is granted to anyone to use this software for any purpose,
+//  including commercial applications, and to alter it and redistribute it
+//  freely, subject to the following restrictions:
+//
+//  1. The origin of this software must not be misrepresented; you must not
+//  claim that you wrote the original software. If you use this software
+//  in a product, an acknowledgment in the product documentation would be
+//  appreciated but is not required.
+//
+//  2. Altered source versions must be plainly marked as such, and must not be
+//  misrepresented as being the original software.
+//
+//  3. This notice may not be removed or altered from any source distribution.
+//
+
+
+#import <Availability.h>
+#undef weak_delegate
+#if __has_feature(objc_arc_weak) && \
+(!(defined __MAC_OS_X_VERSION_MIN_REQUIRED) || \
+__MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_8)
+#define weak_delegate weak
+#else
+#define weak_delegate unsafe_unretained
+#endif
+
+
+#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
+#import <UIKit/UIKit.h>
+#else
+#import <Cocoa/Cocoa.h>
+#endif
+
+
+extern NSUInteger const iRateAppStoreGameGenreID;
+extern NSString *const iRateErrorDomain;
+
+
+//localisation string keys
+static NSString *const iRateMessageTitleKey = @"iRateMessageTitle";
+static NSString *const iRateAppMessageKey = @"iRateAppMessage";
+static NSString *const iRateGameMessageKey = @"iRateGameMessage";
+static NSString *const iRateCancelButtonKey = @"iRateCancelButton";
+static NSString *const iRateRemindButtonKey = @"iRateRemindButton";
+static NSString *const iRateRateButtonKey = @"iRateRateButton";
+
+/*
+ Users will need to have the same version of your app installed for this many
+ days before they will be prompted to rate it.
+ */
+
+#if VERSION_FREE
+    #define APPIRATER_DAYS_UNTIL_PROMPT		4		// double
+#else
+    #define APPIRATER_DAYS_UNTIL_PROMPT		10		// double
+#endif
+
+/*
+ An example of a 'use' would be if the user launched the app. Bringing the app
+ into the foreground (on devices that support it) would also be considered
+ a 'use'. 
+ Users need to 'use' the same version of the app this many times before
+ before they will be prompted to rate it.
+ */
+#define APPIRATER_USES_UNTIL_PROMPT		-1		// integer
+
+/*
+ Once the rating alert is presented to the user, they might select
+ 'Remind me later'. This value specifies how long (in days) Appirater
+ will wait before reminding them.
+ */
+
+#if VERSION_FREE
+    #define APPIRATER_TIME_BEFORE_REMINDING		12	// double
+#else
+    #define APPIRATER_TIME_BEFORE_REMINDING		30	// double
+#endif
+
+/*
+ 用户选择了 No 按钮几次之后,不再弹出Appirater评价界面.
+ */
+
+#if VERSION_FREE
+    #define APPIRATER_PROMPT_TIMES_UNTIL_REJECT        3    // double
+#else
+    #define APPIRATER_PROMPT_TIMES_UNTIL_REJECT        2    // double
+#endif
+
+
+typedef enum
+{
+    iRateErrorBundleIdDoesNotMatchAppStore = 1,
+    iRateErrorApplicationNotFoundOnAppStore,
+    iRateErrorApplicationIsNotLatestVersion
+}
+iRateErrorCode;
+
+
+@protocol iRateDelegate <NSObject>
+@optional
+
+- (void)iRateCouldNotConnectToAppStore:(NSError *)error;
+- (void)iRateDidDetectAppUpdate;
+- (BOOL)iRateShouldPromptForRating;
+- (void)iRateDidPromptForRating;
+- (void)iRateUserDidAttemptToRateApp;
+- (void)iRateUserDidDeclineToRateApp;
+- (void)iRateUserDidRequestReminderToRateApp;
+- (BOOL)iRateShouldOpenAppStore;
+- (void)iRateDidPresentStoreKitModal;
+- (void)iRateDidDismissStoreKitModal;
+
+@end
+
+
+@interface iRate : NSObject
+
++ (iRate *)sharedInstance;
+
+//app store ID - this is only needed if your
+//bundle ID is not unique between iOS and Mac app stores
+@property (nonatomic, assign) NSUInteger appStoreID;
+
+//application details - these are set automatically
+@property (nonatomic, assign) NSUInteger appStoreGenreID;
+@property (nonatomic, copy) NSString *appStoreCountry;
+@property (nonatomic, copy) NSString *applicationName;
+@property (nonatomic, copy) NSString *applicationVersion;
+@property (nonatomic, copy) NSString *applicationBundleID;
+
+//usage settings - these have sensible defaults
+@property (nonatomic, assign) NSUInteger usesUntilPrompt;// 使用几次后开始弹出
+@property (nonatomic, assign) NSUInteger eventsUntilPrompt;
+@property (nonatomic, assign) float daysUntilPrompt;// 多少天后开始弹出
+@property (nonatomic, assign) float usesPerWeekForPrompt;
+@property (nonatomic, assign) float remindPeriod;// 选择“稍后提醒我”后的再提醒时间间隔
+
+//message text, you may wish to customise these
+@property (nonatomic, copy) NSString *messageTitle;
+@property (nonatomic, copy) NSString *message;
+@property (nonatomic, copy) NSString *cancelButtonLabel;
+@property (nonatomic, copy) NSString *remindButtonLabel;
+@property (nonatomic, copy) NSString *rateButtonLabel;
+
+//debugging and prompt overrides
+@property (nonatomic, assign) BOOL useAllAvailableLanguages;
+@property (nonatomic, assign) BOOL disableAlertViewResizing;
+@property (nonatomic, assign) BOOL promptAgainForEachNewVersion;
+@property (nonatomic, assign) BOOL onlyPromptIfLatestVersion;
+@property (nonatomic, assign) BOOL onlyPromptIfMainWindowIsAvailable;
+@property (nonatomic, assign) BOOL displayAppUsingStorekitIfAvailable;
+@property (nonatomic, assign) BOOL promptAtLaunch;// 启动或者回到前台就尝试提醒
+@property (nonatomic, assign) BOOL verboseLogging;
+@property (nonatomic, assign) BOOL previewMode;
+
+//advanced properties for implementing custom behaviour
+@property (nonatomic, strong) NSURL *ratingsURL;
+@property (nonatomic, strong) NSDate *firstUsed;
+@property (nonatomic, strong) NSDate *lastReminded;
+@property (nonatomic, assign) NSUInteger usesCount;
+@property (nonatomic, assign) NSUInteger eventCount;
+@property (nonatomic, readonly) float usesPerWeek;
+@property (nonatomic, assign) BOOL declinedThisVersion;
+@property (nonatomic, readonly) BOOL declinedAnyVersion;
+@property (nonatomic, assign) BOOL ratedThisVersion;
+@property (nonatomic, readonly) BOOL ratedAnyVersion;
+@property (nonatomic, weak_delegate) id<iRateDelegate> delegate;
+
+//manually control behaviour
+- (BOOL)shouldPromptForRating;
+- (void)promptForRating;
+- (void)promptIfNetworkAvailable;
+- (void)openRatingsPageInAppStore;
+- (void)logEvent:(BOOL)deferPrompt;
+- (void)remindMeLater;
+
+- (void)appLaunched;
+
+@end

Datei-Diff unterdrückt, da er zu groß ist
+ 1243 - 0
PDF Office/PDF Master/Class/PDFTools/Rate/iRate.m


BIN
PDF Office/PDF Master/Class/PDFTools/Rate/resource/rate_pic_free.pdf


BIN
PDF Office/PDF Master/Class/PDFTools/Rate/resource/rate_pic_pro.pdf


BIN
PDF Office/PDF Master/Class/PDFTools/Rate/resource/rate_pic_star.pdf


+ 1 - 1
PDF Office/PDF Master/Class/Purchase/DMG/KMPurchaseLimitWindowController.xib

@@ -212,7 +212,7 @@
         </window>
         </window>
     </objects>
     </objects>
     <resources>
     <resources>
-        <image name="functionLimit_icon" width="302" height="380"/>
+        <image name="functionLimit_icon" width="906" height="1140"/>
         <image name="function_vip" width="20" height="20"/>
         <image name="function_vip" width="20" height="20"/>
     </resources>
     </resources>
 </document>
 </document>

+ 12 - 2
PDF Office/PDF Master/Class/Purchase/IAPProductsManager.m

@@ -7,6 +7,8 @@
 //
 //
 
 
 #import "IAPProductsManager.h"
 #import "IAPProductsManager.h"
+#import <PDF_Master-Swift.h>
+
 #if !VERSION_DMG
 #if !VERSION_DMG
 #import <StoreKit/StoreKit.h>
 #import <StoreKit/StoreKit.h>
 #endif
 #endif
@@ -413,11 +415,19 @@ NSString * const KMIAPSubscriptionLoadedNotification = @"KMIAPSubscriptionLoaded
     
     
 #if DEBUG
 #if DEBUG
     NSURL *url = [NSURL URLWithString:KMSandboxServer];
     NSURL *url = [NSURL URLWithString:KMSandboxServer];
+    NSString *urlString = KMSandboxServer;
 #else
 #else
     NSURL *url = [NSURL URLWithString:KMItunesServer];
     NSURL *url = [NSURL URLWithString:KMItunesServer];
+    NSString *urlString = KMItunesServer;
 #endif
 #endif
-    
-//    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+    KMRequestServer *server = [KMRequestServer requestServer];
+    [server requestWithUrlString:urlString
+                          method:KMRequestServerMethodTypePost
+                          params:payLoad
+                      completion:^(NSURLSessionDataTask * _Nullable, id _Nullable responseObject, NSError * _Nullable) {
+
+    }];
+    //    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
 //        ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
 //        ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
 //        request.defaultResponseEncoding = NSUTF8StringEncoding;
 //        request.defaultResponseEncoding = NSUTF8StringEncoding;
 //        request.timeOutSeconds = 20;
 //        request.timeOutSeconds = 20;

+ 0 - 2
PDF Office/PDF Master/Info.plist

@@ -334,7 +334,5 @@
 		<string>SF-Pro-Text-Semibold.otf</string>
 		<string>SF-Pro-Text-Semibold.otf</string>
 		<string>SF-Pro-Text-Bold.otf</string>
 		<string>SF-Pro-Text-Bold.otf</string>
 	</array>
 	</array>
-	<key>UIUserInterfaceStyle</key>
-	<string></string>
 </dict>
 </dict>
 </plist>
 </plist>

+ 1 - 0
PDF Office/PDF Master/PDF_Master DMG-Bridging-Header.h

@@ -81,3 +81,4 @@
 #import "IAPProductsManager.h"
 #import "IAPProductsManager.h"
 #import "VerificationManager.h"
 #import "VerificationManager.h"
 #import "KMPurchaseCompareWindowController.h"
 #import "KMPurchaseCompareWindowController.h"
+#import "iRate.h"

+ 1 - 0
PDF Office/PDF Master/PDF_Master Pro-Bridging-Header.h

@@ -65,3 +65,4 @@
 #import "IAPProductsManager.h"
 #import "IAPProductsManager.h"
 #import "VerificationManager.h"
 #import "VerificationManager.h"
 #import "KMPurchaseCompareWindowController.h"
 #import "KMPurchaseCompareWindowController.h"
+#import "iRate.h"

+ 1 - 0
PDF Office/PDF Master/PDF_Master-Bridging-Header.h

@@ -77,3 +77,4 @@
 #import "IAPProductsManager.h"
 #import "IAPProductsManager.h"
 #import "VerificationManager.h"
 #import "VerificationManager.h"
 #import "KMPurchaseCompareWindowController.h"
 #import "KMPurchaseCompareWindowController.h"
+#import "iRate.h"