Browse Source

【OCToSwift】NSSharingServicePicker分类(完成)

tangchao 1 year ago
parent
commit
be2d041c67

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

@@ -215,9 +215,6 @@
 		89D2D2FE294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89D2D2FA294C806000BFF5FE /* KMPDFThumbnailItem.xib */; };
 		89D2D2FF294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89D2D2FA294C806000BFF5FE /* KMPDFThumbnailItem.xib */; };
 		89D2D300294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89D2D2FA294C806000BFF5FE /* KMPDFThumbnailItem.xib */; };
-		89D2D30329504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D30229504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m */; };
-		89D2D30429504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D30229504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m */; };
-		89D2D30529504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D30229504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m */; };
 		89D2D308295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D306295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift */; };
 		89D2D309295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D306295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift */; };
 		89D2D30A295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D306295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift */; };
@@ -3634,8 +3631,6 @@
 		89D2D2E1294C452B00BFF5FE /* KMPDFThumbnailView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPDFThumbnailView.swift; sourceTree = "<group>"; };
 		89D2D2F9294C806000BFF5FE /* KMPDFThumbnailItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPDFThumbnailItem.swift; sourceTree = "<group>"; };
 		89D2D2FA294C806000BFF5FE /* KMPDFThumbnailItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPDFThumbnailItem.xib; sourceTree = "<group>"; };
-		89D2D30129504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KMSharingServicePicker+ESSSharingServicePickerMenu.h"; sourceTree = "<group>"; };
-		89D2D30229504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KMSharingServicePicker+ESSSharingServicePickerMenu.m"; sourceTree = "<group>"; };
 		89D2D306295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMEditPDFTextPropertyViewController.swift; sourceTree = "<group>"; };
 		89D9895728FD21E6003A3E87 /* KMAnnotationCollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMAnnotationCollectionView.swift; sourceTree = "<group>"; };
 		89D9896228FD23AE003A3E87 /* PDFKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PDFKit.framework; path = System/Library/Frameworks/PDFKit.framework; sourceTree = SDKROOT; };
@@ -8456,8 +8451,6 @@
 		BB86C20628F5566C005AD968 /* AppKitCategories */ = {
 			isa = PBXGroup;
 			children = (
-				89D2D30129504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.h */,
-				89D2D30229504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m */,
 				89E4E759296429CF002DBA6F /* NSShadow_SKExtensions.h */,
 				89E4E758296429CF002DBA6F /* NSShadow_SKExtensions.m */,
 				89E4E754296427E5002DBA6F /* NSImage_SKExtensions.h */,
@@ -10951,7 +10944,6 @@
 				9F1FE4FC29406E4700E952CA /* CTTabStripController.m in Sources */,
 				BB146FCC299DC0D100784A6A /* GTMSessionUploadFetcher.m in Sources */,
 				BB14701D299DC0D100784A6A /* OIDIDToken.m in Sources */,
-				89D2D30329504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m in Sources */,
 				BB86C1F228F54535005AD968 /* CPDFListView+KeyEvent.m in Sources */,
 				ADD1B6A529416FE800C3FFF7 /* KMOCRPresenter.swift in Sources */,
 				ADCB996E292C65EE00B51A03 /* KMOCROperation.m in Sources */,
@@ -11538,7 +11530,6 @@
 				F3732306292DF9410013862C /* CPDFSquareAnnotation+PDFListView.m in Sources */,
 				ADCB98D22924771600B51A03 /* KMBatchProcessingNameTableCell.swift in Sources */,
 				F34BF9542953DA91002C25A2 /* NSGeometry+PDFListView.m in Sources */,
-				89D2D30429504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m in Sources */,
 				BBB14A582978E75D00936EDB /* KMRedactMutilPageFlagWindowController.swift in Sources */,
 				ADCB9908292B6AC000B51A03 /* KMImageToPDFChooseModel.swift in Sources */,
 				BBB9B30E299A5D6D004F3235 /* KMCloudUploadOperationQueue.m in Sources */,
@@ -12354,7 +12345,6 @@
 				BB147034299DC0D200784A6A /* OIDTokenResponse.m in Sources */,
 				BBB14A592978E75D00936EDB /* KMRedactMutilPageFlagWindowController.swift in Sources */,
 				899700E128F3A9F2009AF911 /* KMHomeWindowController.swift in Sources */,
-				89D2D30529504E5E00BFF5FE /* KMSharingServicePicker+ESSSharingServicePickerMenu.m in Sources */,
 				BB9DCCA12A0A2B0A0024A6F1 /* KMConvertSettingView.swift in Sources */,
 				BB8F4578295AFA2D0037EA22 /* KMHeaderFooterAdjectiveInfoBaseView.swift in Sources */,
 				F3F0B27529B8ACD000722957 /* CPDFListViewDragObject.m in Sources */,

+ 20 - 0
PDF Office/PDF Master/Class/Common/Category/NSObject+KMExtension.swift

@@ -93,3 +93,23 @@ func GetDeviceName() -> String? {
      return string;
  }
  */
+
+extension NSSharingServicePicker {
+    class func menu(forSharingItems items: [Any], subjectContext subString: String?, withTarget target: Any?, selector aSel: Selector?, serviceDelegate del: Any?) -> NSMenu? {
+        let sharingServices = NSSharingService.sharingServices(forItems: items)
+        if (sharingServices.count == 0) {
+            return nil
+        }
+        let menu = NSMenu(title: "MountainLionSharingMenu")
+        for currentService in sharingServices {
+            let item = NSMenuItem(title: currentService.title, action: aSel, keyEquivalent: "")
+            item.image = currentService.image
+            currentService.subject = subString ?? ""
+            item.representedObject = currentService
+            currentService.delegate = (del as? any NSSharingServiceDelegate)
+            item.target = target as AnyObject?
+            menu.addItem(item)
+        }
+        return menu
+    }
+}

+ 0 - 19
PDF Office/PDF Master/Class/ToolsLibrary/AppKitCategories/KMSharingServicePicker+ESSSharingServicePickerMenu.h

@@ -1,19 +0,0 @@
-//
-//  NSSharingServicePicker+ESSSharingServicePickerMenu.h
-//  PDFEdit
-//
-//  Created by 丁林圭 on 17/4/20.
-//  Copyright © 2017年 DingLingui. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-@interface NSSharingServicePicker (ESSSharingServicePickerMenu)
-
-+ (NSMenu *)menuForSharingItems:(NSArray *)items
-                 subjectContext:(NSString *)subString
-                     withTarget:(id)target //the target to which aSel will be sent to
-                       selector:(SEL)aSel    //aSel like: mySelector:(NSMenuItem *)it ->
-                serviceDelegate:(id <NSSharingServiceDelegate>)del;
-
-@end

+ 0 - 47
PDF Office/PDF Master/Class/ToolsLibrary/AppKitCategories/KMSharingServicePicker+ESSSharingServicePickerMenu.m

@@ -1,47 +0,0 @@
-//
-//  NSSharingServicePicker+ESSSharingServicePickerMenu.m
-//  PDFEdit
-//
-//  Created by 丁林圭 on 17/4/20.
-//  Copyright © 2017年 DingLingui. All rights reserved.
-//
-
-#import "KMSharingServicePicker+ESSSharingServicePickerMenu.h"
-
-@implementation NSSharingServicePicker (ESSSharingServicePickerMenu)
-
-+ (NSMenu *)menuForSharingItems:(NSArray *)items
-                 subjectContext:(NSString *)subString
-                     withTarget:(id)target //the target to which aSel will be sent to
-                       selector:(SEL)aSel	//aSel like: mySelector:(NSMenuItem *)it ->
-                serviceDelegate:(id <NSSharingServiceDelegate>)del
-{
-    NSArray *sharingServices = [NSSharingService sharingServicesForItems:items];
-    if (sharingServices.count == 0)
-        return nil;
-    
-    NSMenu *menu = [[NSMenu alloc] initWithTitle:@"MountainLionSharingMenu"];
-    
-    // rebuild the menu
-    for (NSSharingService *currentService in sharingServices)
-    {
-        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:currentService.title action:aSel keyEquivalent:@""];
-        item.image = currentService.image;
-        currentService.subject = subString?:@"";
-        item.representedObject = currentService;
-        currentService.delegate = del;
-        item.target = target;
-        [menu addItem:item];
-#if !__has_feature(objc_arc)
-        [item release];
-#endif
-    }
-    
-#if !__has_feature(objc_arc)
-    return [menu autorelease];
-#else
-    return menu;
-#endif
-}
-
-@end

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

@@ -22,7 +22,6 @@
 #import "CTTabStripView.h"
 #import "CTTabController.h"
 #import "CTBrowserWindow.h"
-#import "KMSharingServicePicker+ESSSharingServicePickerMenu.h"
 #import "CPDFListView+Public.h"
 #import "KMGeneralAnnotationViewController.h"
 #import "KMAnnotationPropertiesViewController.h"

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

@@ -23,7 +23,6 @@
 #import "CTTabStripView.h"
 #import "CTTabController.h"
 #import "CTBrowserWindow.h"
-#import "KMSharingServicePicker+ESSSharingServicePickerMenu.h"
 #import "CPDFListView+Public.h"
 #import "KMGeneralAnnotationViewController.h"
 #import "KMAnnotationPropertiesViewController.h"