Messages

[Messages.app]アカウント情報を取得する


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#com.cocolog-nifty.quicktimer.icefloe
004----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
005##自分環境がos12なので2.8にしているだけです
006use AppleScript version "2.8"
007use framework "Foundation"
008use scripting additions
009property refMe : a reference to current application
010
011
012set strOutPutText to ("") as text
013
014tell application id "com.apple.MobileSMS"
015  set listAccount to every account as list
016  repeat with itemAccount in listAccount
017    tell itemAccount
018      set strOutPutText to strOutPutText & "サービスタイプ:" & (service type as text) & "\r"
019      set strOutPutText to strOutPutText & "アカウントID:" & (id as text) & "\r"
020      set strOutPutText to strOutPutText & "詳細:" & (description as text) & "\r"
021      set strOutPutText to strOutPutText & "----+----1----+----2----+-----3----+----4----+----5\r"
022    end tell
023  end repeat
024end tell
025
026################################
027######ダイアログ
028################################
029tell current application
030  set strName to name as text
031end tell
032####スクリプトメニューから実行したら
033if strName is "osascript" then
034  tell application "Finder"
035    activate
036  end tell
037else
038  tell current application
039    activate
040  end tell
041end if
042set aliasIconPath to POSIX file "/Applications/Messenger.app/Contents/Resources/messenger.icns" as alias
043
044try
045  set recordResponse to (display dialog "詳しく" with title "入力してください" default answer strOutPutText buttons {"クリップボードにコピー", "OK", "キャンセル"} default button "OK" cancel button "キャンセル" with icon aliasIconPath giving up after 20 without hidden answer)
046  
047on error
048  log "エラーしました"
049  return "エラーしました"
050end try
051if true is equal to (gave up of recordResponse) then
052  return "時間切れですやりなおしてください"
053end if
054if "OK" is equal to (button returned of recordResponse) then
055  set strResponse to (text returned of recordResponse) as text
056else if button returned of recordResponse is "クリップボードにコピー" then
057  set strText to text returned of recordResponse as text
058  ####ペーストボード宣言
059  set appPasteboard to refMe's NSPasteboard's generalPasteboard()
060  ##結果をペーストボードにテキストで入れる
061  set ocidText to (refMe's NSString's stringWithString:(strText))
062  appPasteboard's clearContents()
063  appPasteboard's setString:(ocidText) forType:(refMe's NSPasteboardTypeString)
064  return
065else
066  log "キャンセルしました"
067  return "キャンセルしました"
068end if
069
070
AppleScriptで生成しました

|

[Messages.app]キャッシュをゴミ箱に入れる


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# 各種キャッシュファイルをゴミ箱に移動します
005# 
006#com.cocolog-nifty.quicktimer.icefloe
007----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
008##自分環境がos12なので2.8にしているだけです
009use AppleScript version "2.8"
010use framework "Foundation"
011use scripting additions
012
013property refMe : a reference to current application
014
015set appFileManager to refMe's NSFileManager's defaultManager()
016
017###################################
018########まずは処理するアプリケーションを終了させる
019###################################
020doQuitApp2UTI("com.apple.MobileSMS")
021
022###################################
023########キャッシュ
024###################################
025
026log doMoveToTrash("~/Library/Caches/com.apple.MobileSMS/Caches")
027log doMoveToTrash("~/Library/Containers/com.apple.MobileSMS/Data/Library/Caches")
028log doMoveToTrash("~/Library/Containers/com.apple.share.Messages.window/Data/Library/Caches")
029log doMoveToTrash("~/Library/Containers/com.apple.ScreenSaver.Computer-Name/Data/Library/Caches")
030log doMoveToTrash("~/Library/Containers/com.apple.messages.StorageManagementExtension/Data/Library/Caches")
031log doMoveToTrash("~/Library/Containers/com.apple.messages.ShareExtension/Data/Library/Caches")
032log doMoveToTrash("~/Library/Containers/com.apple.messages.ReplyExtension/Data/Library/Caches")
033log doMoveToTrash("~/Library/Containers/com.apple.messages.AssistantExtension/Data/Library/Caches")
034log doMoveToTrash("~/Library/Containers/com.apple.MobileSMS.MessagesActionExtension/Data/Library/Caches")
035
036
037log doMoveToTrash("~/Library/Caches/com.apple.MobileSMS/Previews")
038log doMoveToTrash("~/Library/Containers/com.apple.MobileSMS/Data/Library/Previews")
039log doMoveToTrash("~/Library/Containers/com.apple.share.Messages.window/Data/Library/Previews")
040log doMoveToTrash("~/Library/Containers/com.apple.ScreenSaver.Computer-Name/Data/Library/Previews")
041log doMoveToTrash("~/Library/Containers/com.apple.messages.StorageManagementExtension/Data/Library/Previews")
042log doMoveToTrash("~/Library/Containers/com.apple.messages.ShareExtension/Data/Library/Previews")
043log doMoveToTrash("~/Library/Containers/com.apple.messages.ReplyExtension/Data/Library/Previews")
044log doMoveToTrash("~/Library/Containers/com.apple.messages.AssistantExtension/Data/Library/Previews")
045log doMoveToTrash("~/Library/Containers/com.apple.MobileSMS.MessagesActionExtension/Data/Library/Previews")
046
047
048###################################
049########Saved Application State
050###################################
051log doMoveToTrash("~/Library/Containers/com.apple.MobileSMS/Data/Library/Saved Application State")
052log doMoveToTrash("~/Library/Containers/com.apple.share.Messages.window/Data/Library/Saved Application State")
053log doMoveToTrash("~/Library/Containers/com.apple.ScreenSaver.Computer-Name/Data/Library/Saved Application State")
054log doMoveToTrash("~/Library/Containers/com.apple.messages.StorageManagementExtension/Data/Library/Saved Application State")
055log doMoveToTrash("~/Library/Containers/com.apple.messages.ShareExtension/Data/Library/Saved Application State")
056log doMoveToTrash("~/Library/Containers/com.apple.messages.ReplyExtension/Data/Library/Saved Application State")
057log doMoveToTrash("~/Library/Containers/com.apple.messages.AssistantExtension/Data/Library/Saved Application State")
058log doMoveToTrash("~/Library/Containers/com.apple.MobileSMS.MessagesActionExtension/Data/Library/Saved Application State")
059
060###################################
061########Messages
062###################################
063log doMoveToTrash("~/Library/Messages/Caches/Previews/Attachments")
064log doMoveToTrash("~/Library/Messages/Caches/Previews/Search")
065log doMoveToTrash("~/Library/Messages/Attachments")
066
067###################################
068########処理 ゴミ箱に入れる
069###################################
070
071to doMoveToTrash(argFilePath)
072  ###ファイルマネジャー初期化
073  set appFileManager to refMe's NSFileManager's defaultManager()
074  #########################################
075  ###渡された値のClassを調べてとりあえずNSURLにする
076  set refClass to class of argFilePath
077  if refClass is list then
078    return "エラー:リストは処理しません"
079  else if refClass is text then
080    log "テキストパスです"
081    set ocidArgFilePathStr to (refMe's NSString's stringWithString:argFilePath)
082    set ocidArgFilePath to ocidArgFilePathStr's stringByStandardizingPath
083    set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidArgFilePath)
084  else if refClass is alias then
085    log "エイリアスパスです"
086    set strArgFilePath to (POSIX path of argFilePath) as text
087    set ocidArgFilePathStr to (refMe's NSString's stringWithString:strArgFilePath)
088    set ocidArgFilePath to ocidArgFilePathStr's stringByStandardizingPath
089    set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidArgFilePath)
090  else
091    set refClass to (className() of argFilePath) as text
092    if refClass contains "NSPathStore2" then
093      log "NSPathStore2です"
094      set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:argFilePath)
095    else if refClass contains "NSCFString" then
096      log "NSCFStringです"
097      set ocidArgFilePath to argFilePath's stringByStandardizingPath
098      set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidArgFilePath)
099    else if refClass contains "NSURL" then
100      set ocidArgFilePathURL to argFilePath
101      log "NSURLです"
102    end if
103  end if
104  #########################################
105  ###
106  -->false
107  set ocidFalse to (refMe's NSNumber's numberWithBool:false)'s boolValue
108  -->true
109  set ocidTrue to (refMe's NSNumber's numberWithBool:true)'s boolValue
110  #########################################
111  ###NSURLがエイリアス実在するか
112  set ocidArgFilePath to ocidArgFilePathURL's |path|()
113  set boolFileAlias to appFileManager's fileExistsAtPath:(ocidArgFilePath)
114  ###パス先が実在しないなら処理はここまで
115  if boolFileAlias = false then
116    log ocidArgFilePath as text
117    log "処理中止 パス先が実在しない"
118    return false
119  end if
120  #########################################
121  ###NSURLがディレクトリなのか?ファイルなのか?
122  set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsDirectoryKey) |error| :(reference)
123  #   log (item 1 of listBoolDir)
124  #   log (item 2 of listBoolDir)
125  #   log (item 3 of listBoolDir)
126  if (item 2 of listBoolDir) = ocidTrue then
127    #########################################
128    log "ディレクトリです"
129    log ocidArgFilePathURL's |path| as text
130    ##内包リスト
131    set listResult to appFileManager's contentsOfDirectoryAtURL:ocidArgFilePathURL includingPropertiesForKeys:{refMe's NSURLPathKey} options:0  |error| :(reference)
132    ###結果
133    set ocidContentsPathURLArray to item 1 of listResult
134    if ocidContentsPathURLArray = (missing value) then
135      return false
136    else if (count of ocidContentsPathURLArray) = 0 then
137      return false
138    end if
139    ###リストの数だけ繰り返し
140    repeat with itemContentsPathURL in ocidContentsPathURLArray
141      ###ゴミ箱に入れる
142      set listResult to (appFileManager's trashItemAtURL:itemContentsPathURL resultingItemURL:(missing value) |error| :(reference))
143    end repeat
144  else
145    #########################################
146    log "ファイルです"
147    set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsAliasFileKey) |error| :(reference)
148    if (item 2 of listBoolDir) = ocidTrue then
149      log "エイリアスは処理しません"
150      return false
151    end if
152    set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsSymbolicLinkKey) |error| :(reference)
153    if (item 2 of listBoolDir) = ocidTrue then
154      log "シンボリックリンクは処理しません"
155      return false
156    end if
157    set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsSystemImmutableKey) |error| :(reference)
158    if (item 2 of listBoolDir) = ocidTrue then
159      log "システムファイルは処理しません"
160      return false
161    end if
162    ###ファイルをゴミ箱に入れる
163    set listResult to (appFileManager's trashItemAtURL:ocidArgFilePathURL resultingItemURL:(missing value) |error| :(reference))
164  end if
165  return true
166end doMoveToTrash
167
168###################################
169########アプリケーションを終了させる
170###################################
171to doQuitApp2UTI(argUTI)
172  set strUTI to argUTI as text
173  ### まずは普通に終了を試みる
174  tell application id strUTI to quit
175  delay 2
176  set ocidResultsArray to refMe's NSRunningApplication's runningApplicationsWithBundleIdentifier:strUTI
177  set numCntArray to ocidResultsArray count
178  if numCntArray ≠ 0 then
179    set ocidRunApp to ocidResultsArray's objectAtIndex:0
180    
181    ###通常終了
182    set boolDone to ocidRunApp's terminate()
183    ####強制終了
184    set boolDone to ocidRunApp's forceTerminate()
185    
186    #### killallを使う場合
187    set ocidExecAppURL to ocidRunApp's executableURL()
188    set ocidFileName to ocidExecAppURL's lastPathComponent()
189    set strFileName to ocidFileName as text
190    
191    set strCommandText to ("/usr/bin/killall -z " & strFileName & "") as text
192    set ocidCommandText to refMe's NSString's stringWithString:strCommandText
193    set ocidTermTask to refMe's NSTask's alloc()'s init()
194    ocidTermTask's setLaunchPath:"/bin/zsh"
195    ocidTermTask's setArguments:({"-c", ocidCommandText})
196    set listDoneReturn to ocidTermTask's launchAndReturnError:(reference)
197    
198    
199    ####killを使う場合
200    set ocidPID to ocidRunApp's processIdentifier()
201    set strPID to ocidPID as text
202    log strPID
203    set strCommandText to ("/bin/kill -9 " & strPID & "") as text
204    set ocidCommandText to refMe's NSString's stringWithString:strCommandText
205    set ocidTermTask to refMe's NSTask's alloc()'s init()
206    ocidTermTask's setLaunchPath:"/bin/zsh"
207    ocidTermTask's setArguments:({"-c", ocidCommandText})
208    set listDoneReturn to ocidTermTask's launchAndReturnError:(reference)
209    
210    
211  end if
212end doQuitApp2UTI
213
AppleScriptで生成しました

|

[Messages.app]添付ファイルをゴミ箱に入れる


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# 各種キャッシュファイルをゴミ箱に移動します
005# 削除はご自分で判断してください
006# 壁紙等 再度ダウンロードされてしまう物は除外しています
007#com.cocolog-nifty.quicktimer.icefloe
008----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
009##自分環境がos12なので2.8にしているだけです
010use AppleScript version "2.8"
011use framework "Foundation"
012use scripting additions
013
014property refMe : a reference to current application
015
016set appFileManager to refMe's NSFileManager's defaultManager()
017
018###################################
019########まずは処理するアプリケーションを終了させる
020###################################
021doQuitApp2UTI("com.apple.MobileSMS")
022
023###################################
024########キャッシュ
025###################################
026log doMoveToTrash("~/Library/Messages/Caches/Previews/Attachments")
027log doMoveToTrash("~/Library/Messages/Caches/Previews/Search")
028log doMoveToTrash("~/Library/Messages/Attachments")
029
030###################################
031########処理 ゴミ箱に入れる
032###################################
033
034to doMoveToTrash(argFilePath)
035  ###ファイルマネジャー初期化
036  set appFileManager to refMe's NSFileManager's defaultManager()
037  #########################################
038  ###渡された値のClassを調べてとりあえずNSURLにする
039  set refClass to class of argFilePath
040  if refClass is list then
041    return "エラー:リストは処理しません"
042  else if refClass is text then
043    log "テキストパスです"
044    set ocidArgFilePathStr to (refMe's NSString's stringWithString:argFilePath)
045    set ocidArgFilePath to ocidArgFilePathStr's stringByStandardizingPath
046    set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidArgFilePath)
047  else if refClass is alias then
048    log "エイリアスパスです"
049    set strArgFilePath to (POSIX path of argFilePath) as text
050    set ocidArgFilePathStr to (refMe's NSString's stringWithString:strArgFilePath)
051    set ocidArgFilePath to ocidArgFilePathStr's stringByStandardizingPath
052    set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidArgFilePath)
053  else
054    set refClass to (className() of argFilePath) as text
055    if refClass contains "NSPathStore2" then
056      log "NSPathStore2です"
057      set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:argFilePath)
058    else if refClass contains "NSCFString" then
059      log "NSCFStringです"
060      set ocidArgFilePath to argFilePath's stringByStandardizingPath
061      set ocidArgFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:ocidArgFilePath)
062    else if refClass contains "NSURL" then
063      set ocidArgFilePathURL to argFilePath
064      log "NSURLです"
065    end if
066  end if
067  #########################################
068  ###
069  -->false
070  set ocidFalse to (refMe's NSNumber's numberWithBool:false)'s boolValue
071  -->true
072  set ocidTrue to (refMe's NSNumber's numberWithBool:true)'s boolValue
073  #########################################
074  ###NSURLがエイリアス実在するか
075  set ocidArgFilePath to ocidArgFilePathURL's |path|()
076  set boolFileAlias to appFileManager's fileExistsAtPath:(ocidArgFilePath)
077  ###パス先が実在しないなら処理はここまで
078  if boolFileAlias = false then
079    log ocidArgFilePath as text
080    log "処理中止 パス先が実在しない"
081    return false
082  end if
083  #########################################
084  ###NSURLがディレクトリなのか?ファイルなのか?
085  set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsDirectoryKey) |error| :(reference)
086  #   log (item 1 of listBoolDir)
087  #   log (item 2 of listBoolDir)
088  #   log (item 3 of listBoolDir)
089  if (item 2 of listBoolDir) = ocidTrue then
090    #########################################
091    log "ディレクトリです"
092    log ocidArgFilePathURL's |path| as text
093    ##内包リスト
094    set listResult to appFileManager's contentsOfDirectoryAtURL:ocidArgFilePathURL includingPropertiesForKeys:{refMe's NSURLPathKey} options:0  |error| :(reference)
095    ###結果
096    set ocidContentsPathURLArray to item 1 of listResult
097    ###リストの数だけ繰り返し
098    repeat with itemContentsPathURL in ocidContentsPathURLArray
099      ###ゴミ箱に入れる
100      set listResult to (appFileManager's trashItemAtURL:itemContentsPathURL resultingItemURL:(missing value) |error| :(reference))
101    end repeat
102  else
103    #########################################
104    log "ファイルです"
105    set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsAliasFileKey) |error| :(reference)
106    if (item 2 of listBoolDir) = ocidTrue then
107      log "エイリアスは処理しません"
108      return false
109    end if
110    set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsSymbolicLinkKey) |error| :(reference)
111    if (item 2 of listBoolDir) = ocidTrue then
112      log "シンボリックリンクは処理しません"
113      return false
114    end if
115    set listBoolDir to ocidArgFilePathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsSystemImmutableKey) |error| :(reference)
116    if (item 2 of listBoolDir) = ocidTrue then
117      log "システムファイルは処理しません"
118      return false
119    end if
120    ###ファイルをゴミ箱に入れる
121    set listResult to (appFileManager's trashItemAtURL:ocidArgFilePathURL resultingItemURL:(missing value) |error| :(reference))
122  end if
123  return true
124end doMoveToTrash
125
126###################################
127########アプリケーションを終了させる
128###################################
129to doQuitApp2UTI(argUTI)
130  set strUTI to argUTI as text
131  ### まずは普通に終了を試みる
132  tell application id strUTI to quit
133  delay 2
134  set ocidResultsArray to refMe's NSRunningApplication's runningApplicationsWithBundleIdentifier:strUTI
135  set numCntArray to ocidResultsArray count
136  if numCntArray ≠ 0 then
137    set ocidRunApp to ocidResultsArray's objectAtIndex:0
138    
139    ###通常終了
140    set boolDone to ocidRunApp's terminate()
141    ####強制終了
142    set boolDone to ocidRunApp's forceTerminate()
143    
144    #### killallを使う場合
145    set ocidExecAppURL to ocidRunApp's executableURL()
146    set ocidFileName to ocidExecAppURL's lastPathComponent()
147    set strFileName to ocidFileName as text
148    
149    set strCommandText to ("/usr/bin/killall -z " & strFileName & "") as text
150    set ocidCommandText to refMe's NSString's stringWithString:strCommandText
151    set ocidTermTask to refMe's NSTask's alloc()'s init()
152    ocidTermTask's setLaunchPath:"/bin/zsh"
153    ocidTermTask's setArguments:({"-c", ocidCommandText})
154    set listDoneReturn to ocidTermTask's launchAndReturnError:(reference)
155    
156    
157    ####killを使う場合
158    set ocidPID to ocidRunApp's processIdentifier()
159    set strPID to ocidPID as text
160    log strPID
161    set strCommandText to ("/bin/kill -9 " & strPID & "") as text
162    set ocidCommandText to refMe's NSString's stringWithString:strCommandText
163    set ocidTermTask to refMe's NSTask's alloc()'s init()
164    ocidTermTask's setLaunchPath:"/bin/zsh"
165    ocidTermTask's setArguments:({"-c", ocidCommandText})
166    set listDoneReturn to ocidTermTask's launchAndReturnError:(reference)
167    
168    
169  end if
170end doQuitApp2UTI
171
AppleScriptで生成しました

|

その他のカテゴリー

Accessibility Acrobat Acrobat 2020 Acrobat AddOn Acrobat Annotation Acrobat ARMDC Acrobat AV2 Acrobat BookMark Acrobat Classic Acrobat DC Acrobat Dialog Acrobat Distiller Acrobat Form Acrobat JS Acrobat Manifest Acrobat Menu Acrobat Open Acrobat Plugin Acrobat Preferences Acrobat Preflight Acrobat python Acrobat Reader Acrobat SCA Acrobat SCA Updater Acrobat Sequ Acrobat Sign Acrobat Stamps Acrobat Watermark Acrobat Windows Acrobat Windows Reader Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Mobileconfig Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin Support Admin System Information Admin Tools Admin Users Admin Volumes Adobe Adobe FDKO Adobe RemoteUpdateManager AppKit Apple AppleScript AppleScript do shell script AppleScript List AppleScript ObjC AppleScript Osax AppleScript PDF AppleScript Pictures AppleScript record AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript System Events AppleScript System Events Plist AppleScript Video Applications AppStore Archive Attributes Automator BackUp Barcode Barcode QR Barcode QR Decode Bash Basic Basic Path Bluetooth BOX Browser Calendar CD/DVD Choose Chrome CIImage CityCode CloudStorage Color com.apple.LaunchServices.OpenWith Console Contacts CotEditor CURL current application Date&Time delimiters Desktop Device Diff Disk Dock DropBox Droplet eMail Encode % Encode Decode Encode UTF8 Error EXIFData ffmpeg File Finder Firefox Folder FolderAction Fonts GIF github Guide HTML HTML Entity Icon Illustrator Image Events Image2PDF ImageOptim iPhone iWork Javascript Jedit Json Label Leading Zero List locationd LRC lsappinfo LSSharedFileList m3u8 Mail MakePDF Map Math Media Media AVAsset Media AVconvert Media AVFoundation Media AVURLAsset Media Movie Media Music Memo Messages Microsoft Microsoft Edge Microsoft Excel Mouse Music NetWork Notes NSArray NSArray Sort NSBezierPath NSBitmapImageRep NSBundle NSCFBoolean NSCharacterSet NSColor NSColorList NSData NSDecimalNumber NSDictionary NSError NSEvent NSFileAttributes NSFileManager NSFileManager enumeratorAtURL NSFont NSFontManager NSGraphicsContext NSImage NSIndex NSKeyedArchiver NSKeyedUnarchiver NSLocale NSMutableArray NSMutableDictionary NSMutableString NSNotFound NSNumber NSOpenPanel NSPasteboard NSpoint NSPredicate NSPrintOperation NSRange NSRect NSRegularExpression NSRunningApplication NSScreen NSSize NSString NSString stringByApplyingTransform NSStringCompareOptions NSTask NSTimeZone NSURL NSURL File NSURLBookmark NSURLComponents NSURLResourceKey NSURLSession NSUserDefaults NSUUID NSView NSWorkspace Numbers OAuth OneDrive PDF PDFAnnotation PDFAnnotationWidget PDFContext PDFDisplayBox PDFDocumentPermissions PDFImageRep PDFKit PDFnUP PDFOutline perl Photoshop PlistBuddy pluginkit postalcode PostScript prefPane Preview Python QuickLook QuickTime ReadMe Regular Expression Reminders ReName Repeat RTF Safari SaveFile ScreenCapture ScreenSaver SF Symbols character id SF Symbols Entity sips Skype Slack Sound Spotlight sqlite SRT StandardAdditions Swift System Settings TCC TemporaryItems Terminal Text Text CSV Text MD Text TSV TextEdit Tools Translate Trash Twitter Typography UI Unit Conversion UTType valueForKeyPath Video VisionKit Visual Studio Code Wacom webarchive webp Wifi Windows XML XML EPUB XML OPML XML Plist XML RSS XML savedSearch XML SVG XML TTML XML webloc XML XMP YouTube zoom