Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

タグ: Shortcuts

macOS 15のショートカット(Shortcuts.app)のAppleScriptを実行アクションにバグ

Posted on 10月 24 by Takaaki Naganoya

ショートカット(Shortcuts.app)のmacOS 15に搭載バージョンでは、「AppleScriptを実行」アクションを配置すると、アクションのテキスト編集エリアに何も表示されないことを確認しました。


▲macOS 13搭載バージョン


▲macOS 14搭載バージョン


▲macOS 15搭載バージョン テキスト編集エリアにデフォルトのScriptが入力されない

Posted in Bug | Tagged 15.0savvy Shortcuts | Leave a comment

Finderの隠し命令openVirtualLocationが発見される

Posted on 11月 20, 2022 by Takaaki Naganoya

Twitter上で@usagimaruma氏がレポートしたところにより、FinderにSiri用の隠しAppleScriptコマンド「openVirtualLocation」が存在していることが明らかになりました。

ドキュメントに載っていないFinder AppleScriptの命令を見つけた。tell構文でFinderに対して 'openVirturalLocation "AirDrop"' みたいにすると、AirDropやiCloud Driveのウインドウを直接開ける。 pic.twitter.com/SZHb8c14T7

— usagimaru ⌘ (@usagimaruma) November 19, 2022

tell application "Finder"
	openVirtualLocation "AirDrop"
end tell

/System/Library/CoreServices/Finder.app/Contens/Applications の下にある、

といった小型アプリケーションが、上記のコマンドを利用して機能を呼び出しています。バイナリをダンプすると、”openVirtualLocation”コマンドの部分を生AppleEventsで記述してあり、少し不思議な雰囲気です。

早速、手元の環境でチェックしてみたところ、報告されたとおりに動きます。

hidden=”yes”に設定されているために、普通にFinderをsdefをスクリプトエディタで確認しただけでは表示されません。

過去にさかのぼって、どのバージョンのOSから使えるのかを確認してみたところ、

macOS 10.14:NG
macOS 10.15:NG
macOS 11.6:Exist
macOS 12.6:Exist
macOS 13.x:Exist

と、Siriの搭載とリンクしているというよりは、ショートカット.appの搭載とリンクしているように見えるので、macOS 11のFinderにこのコマンドは搭載されていないのではないか、と推測します。

Posted in news | Tagged 12.0savvy 13.0savvy Finder Shortcuts Siri | Leave a comment

macOS 12.6.1、組み込みAppleScript実行環境の「script objectで分離したハンドラが呼べない」問題が解消?

Posted on 10月 12, 2022 by Takaaki Naganoya

macOS 12.6.1がアップデートして12.6.1になるというわけのわからないバージョン番号の採番ルールが展開されている今日このごろ。

macOS 12の初期において、Shortcuts.appやCotEditor内部のAppleScript実行環境において、script objectで論理分割した中にあるハンドラを呼べない という問題が確認されました。ただし、macOS 12.6.1で気づいたということであって、もう少し前のバージョンでこの変更が加わっていた可能性もあります。

ハンドラ呼び出しの範囲がscript objectを超えられないというわけで、CotEditor PowerPackの作成時に大幅にScriptを書き換える必要があって手間がかかった記憶があります。

AppleScript基礎テクニック集25巻にて「CotEditorのメニューScriptとShortcuts.appでは対策が必要」と書こうとして、念のために実際にmacOS 12.6.1の上でCotEditor v4.3.6で確認したところ、動きました。Shortcuts.appでも同様にscript object内部のハンドラを外部から呼び出せるようになっていました。

# 慌てて、書籍の方を書き換えました

各プログラム側で何かそんなマイナーな問題への対策を行ったような雰囲気はなかったので、OS側の実行モジュール(osascript?)で対策を行ったような雰囲気があります。ただ、Appleがリリースノートを一切出さないので、確認のしようがありません(ものすごく不信感しかないので、リリースノートは出してほしいなー。まさか、詳細なリリースノートを出さないことで、クラッカーへの情報流出を防止できている、とか現状を肯定的に捉えているのだろうか)。

Posted in Bug | Tagged 12.0savvy CotEditor Shortcuts Shortcuts Events | Leave a comment

集中モード(Don’t Disturb Mode)に設定する

Posted on 11月 16, 2021 by Takaaki Naganoya

macOS 12.x上で集中モード(Don’t Disturb Mode)に設定するAppleScriptです。

Shortcutsにその機能があるので、AppleScriptから呼ぶことになるでしょう。使っていると「日本語AppleScript」みたいな違和感の塊のようなショートカット.app。「おやすみモードをオフ時までオンにする」とか、無理に日本語にしないで英語にしてあったほうがまだ分かりやすいと思います。

この「集中モード」という機能についても、画面上で「おやすみモード」と表現されていたり「集中モード」と表現されていたり、いまひとつ機能を表す言葉のレベルに戸惑いを感じます。それとも、自分が何か根本的に勘違いしている箇所があるものでしょうか。

インストール+実行ルーチンを呼ぶことで、このショートカット・ワークフローがMac上に存在していなければインストールし、呼び出しを行います。


▲実行前


▲実行後

AppleScript名:Don’t Disturb Shortcuts v2.scpt
—
–  Created by: Takaaki Naganoya
–  Created on: 2021/11/01
—
–  Copyright © 2021 Piyomaru Software, All Rights Reserved
—

set aName to "PIYO_Don’t Disturb" –Shortcut名称
set aURL to "https://www.icloud.com/shortcuts/cf960093816e4c7fb8d23c10e8820790" –共有URL
set sRes to installAndRunShortcuts(aName, aURL) of me

–Install Shortcut and run it
on installAndRunShortcuts(aName, aURL)
  tell application "Shortcuts Events"
    set n1List to name of every shortcut
  end tell
  
  
if n1List does not contain aName then
    display notification "Plese Install my Shortcuts workflow"
    
open location aURL
  end if
  
  
repeat 100 times
    tell application "Shortcuts Events"
      set n2List to name of every shortcut
    end tell
    
    
if n2List contains aName then
      exit repeat
    end if
    
    
delay 0.5
  end repeat
  
  
if n2List does not contain aName then
    display dialog "I can’t run my Shortcuts because you canceled installing"
    
return false
  end if
  
  
  
tell application "Shortcuts Events"
    run shortcut aName
    
return true
  end tell
end installAndRunShortcuts

★Click Here to Open This Script 

Posted in System | Tagged 12.0savvy Shortcuts Shortcuts Events | Leave a comment

Shortcuts Eventsでショートカットのインストール+実行

Posted on 11月 1, 2021 by Takaaki Naganoya

macOS 12で標準搭載された「ショートカット.app」(Automatorを置き換える簡易ワークフロー構築・実行ツール)を操作して(実際にはGUIなしのShortcuts Events.app)、自分がiCloud上で共有しているショートカット・ワークフローのインストールと実行を行わせるAppleScriptです。

ショートカット・ワークフローはローカルではなくiCloud上に置かれています。それらは「名前」で識別できますが、ユニークなIDが振られているわけではありません。ものすごく不満ですが、一応識別できることにしましょう。

ショートカット・ワークフローは「共有」することが可能で、とくに「リーディングリストで共有」すると、iCloud上の生URLが得られる(SafariのURL欄に表示される)ため、このURL情報を共有すれば「指定のショートカット・ワークフローが存在していない場合にはiCloud上からインストールさせる」という処理が可能になります。

# このあたり、まだ試行錯誤中なので「現時点ではこういう運用をしている」という程度です

今日確認したら、「ファイル」メニューの「共有」に「iCloudリンクをコピー」という項目がありました。

リンクをコピーする機能を入れるなら「編集」メニューではないのかと思わないではないですが、機能的にはこちらがシンプルなのでご利用ください。

お使いの環境に指定のショートカット・ワークフローがインストールされていない場合には、インストールを求めます。ただ、単なる「名称」でしかチェックしていないのと、あらかじめ「同じ名前で内容が違うショートカット」が存在していたら、「インストールずみ」と判定してしまうので、一意に識別できるユニークな識別子がショートカット・ワークフローについていないのはどうかと思います。入手先のiCloud URLでもよいのですが、、、、

# 一応、コンピュータ上で互いを識別するための「id」は持っています

ここで、インストールを行わなかった場合には、それを検出してダイアログ表示します。

AppleScript名:Shortcuts Eventsでショートカットのインストール+実行.scpt
—
–  Created by: Takaaki Naganoya
–  Created on: 2021/11/01
—
–  Copyright © 2021 Piyomaru Software, All Rights Reserved
—

set aName to "ASTEST3" –Shortcut名称
set aURL to "https://www.icloud.com/shortcuts/e788482535704922aaa9f617491353b2" –共有URL
set sRes to installAndRunShortcuts(aName, aURL) of me

–Install Shortcut and run it
on installAndRunShortcuts(aName, aURL)
  tell application "Shortcuts Events"
    set n1List to name of every shortcut
  end tell
  
  
if n1List does not contain aName then
    display notification "Plese Install my Shortcuts workflow"
    
open location aURL
  end if
  
  
tell application "Shortcuts Events"
    set n2List to name of every shortcut
  end tell
  
  
if n2List does not contain aName then
    display dialog "I can’t run my Shortcuts because you canceled installing"
    
return false
  end if
  
  
tell application "Shortcuts Events"
    run shortcut aName
    
return true
  end tell
end installAndRunShortcuts

★Click Here to Open This Script 

Posted in Shortcuts Workflow | Tagged 12.0savvy Shortcuts Shortcuts Events | 1 Comment

ショートカットのプロパティで返ってくるアイコンをダイアログ表示

Posted on 10月 29, 2021 by Takaaki Naganoya

macOS 12であらたに搭載されたショートカット.appのショートカット・ワークフローのアイコンを読み取ってダイアログ表示するAppleScriptです。

Shortcuts.appおよびShortcuts Events.app経由で各ショートカット・ワークフローの情報を取得することができます。

tell application "Shortcuts Events"
  set aList to properties of shortcut 1
  
–> name:"ASTEST", class:shortcut, accepts input:false, action count:1, subtitle:"1個のアクション", folder:missing value, color:{62105, 22734, 24226}, computer name:«data TIFF4D4D002A00040008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 …..» id:"5CEF527E-F2E7-42A4-9513-209F098E50E9"}
  
end tell

★Click Here to Open This Script 

ここで、「computer name」と解釈されているのがショートカット・ワークフローのアイコンです。このあたりバグくさいところですね。実際には「icon」という属性ラベルなのですが、、、、

iconデータの内容は最初の文字を見れば丸わかりのTIFF画像です。

手っ取り早く変換したかったので、クリップボード経由でNSImageに変換して、ダイアログに表示してみました。

この手の「ちょっとしたビューをアラートダイアログに入れてデータ表示」を行うのは、すでにノウハウがたまっていて気楽に行えるのが2021年的なAppleScriptの利用状況です。

とりあえず、すべてのショートカット・ワークフローのアイコンを取得することはできるのですが、全部確認するのはかったるいので冒頭の10個だけ表示しています。

–> Watch Demo Movie

AppleScript名:ショートカットのプロパティで返ってくるアイコンをダイアログ表示.scpt
—
–  Created by: Takaaki Naganoya
–  Created on: 2021/10/27
—
–  Copyright © 2021 Piyomaru Software, All Rights Reserved
—
use AppleScript version "2.8"
use scripting additions
use framework "Foundation"
use framework "AppKit"

property NSAlert : a reference to current application’s NSAlert
property NSImage : a reference to current application’s NSImage
property NSImageView : a reference to current application’s NSImageView
property NSRunningApplication : a reference to current application’s NSRunningApplication
property NSImageScaleProportionallyUpOrDown : a reference to current application’s NSImageScaleProportionallyUpOrDown

property returnCode : 0

tell application "Shortcuts Events"
  set aCount to count every shortcut
  
if aCount > 10 then
    set aCount to 10 –Too dull to see every icons…. If you want whole icons, remove this if-then block
  end if
end tell

repeat with i from 1 to aCount
  tell application "Shortcuts Events"
    set aProp to properties of shortcut i
    
set aCon to icon of aProp
    
set aName to name of aProp
  end tell
  
  
–クリップボードの内容をNSImageに
  
set the clipboard to aCon
  
set aNSIMage to my getClipboardASImage()
  
  
my dispNSImage(aNSIMage, aName)
end repeat

on dispNSImage(aNSIMage, aTitle)
  set aMessage to "Your NSImage"
  
set paramObj to {myMessage:aTitle, mySubMessage:"This is an image", myImage:aNSIMage}
  
my performSelectorOnMainThread:"displayImageView:" withObject:(paramObj) waitUntilDone:true
  
–my displayImageView:paramObj–for debugging with Script Editor
end dispNSImage

on displayImageView:paramObj
  set aMainMes to myMessage of paramObj
  
set aSubMes to mySubMessage of paramObj
  
set anImage to (myImage of paramObj)
  
  
set imgSize to (anImage’s |size|())
  
set imgWidth to ((imgSize’s width) as real)
  
set imgHeight to ((imgSize’s height) as real)
  
  
set anImageView to NSImageView’s alloc()’s initWithFrame:{origin:{x:0.0, y:0.0}, |size|:{width:imgWidth, height:imgHeight}}
  
anImageView’s setImageScaling:(NSImageScaleProportionallyUpOrDown)
  
anImageView’s setEditable:false
  
anImageView’s setImage:anImage
  
anImageView’s display()
  
  
— set up alert  
  
set theAlert to NSAlert’s alloc()’s init()
  
tell theAlert
    its setMessageText:aMainMes
    
its setIcon:anImage
    
its setInformativeText:aSubMes
    
its addButtonWithTitle:"OK"
    
its addButtonWithTitle:"Cancel"
    
its setAccessoryView:anImageView
  end tell
  
  
— show alert in modal loop
  
NSRunningApplication’s currentApplication()’s activateWithOptions:0
  
my performSelectorOnMainThread:"doModal:" withObject:(theAlert) waitUntilDone:true
  
if (my returnCode as number) = 1001 then error number -128
end displayImageView:

on doModal:aParam
  set (my returnCode) to aParam’s runModal()
end doModal:

— クリップボードの内容をNSImageとして取り出して返す
on getClipboardASImage()
  set theNSPasteboard to current application’s NSPasteboard’s generalPasteboard()
  
set theAttributedStringNSArray to theNSPasteboard’s readObjectsForClasses:({current application’s NSImage}) options:(missing value)
  
set theNSAttributedString to theAttributedStringNSArray’s objectAtIndex:0
  
return theNSAttributedString
end getClipboardASImage

★Click Here to Open This Script 

Posted in Shortcuts Workflow | Tagged 10.12savvy Shortcuts Shortcuts Events | Leave a comment

AppleScriptからショートカット実行&ショートカット内でAppleScriptを実行

Posted on 10月 27, 2021 by Takaaki Naganoya

macOS 12で新規搭載された「ショートカット.app」、このアプリケーション上で記述するワークフローを「ショートカット」、ショートカットを構成する各コマンドを「アクション」と呼びます。

ショートカット.appは日本語ローカライズされた名称であって、実際には「Shortcuts.app」という名前です。

AppleScript用のショートカット実行GUIなしアプリケーション「Shortcuts Events.app」が別途(ショートカット.appのバンドル内に)存在しており、こちらもAppleScript用語辞書を備えています。

Shortcuts.appに対してコマンドを実行すると、同アプリケーションが起動します。Shortcuts Events.appに対してコマンドを実行すると、Shortcuts.appは起動しません。

両者とも辞書内容は一緒であり、バージョン番号と名前以外に差異はありません。

AppleScript名:ショートカットのプロパティを取得.scpt
tell application "Shortcuts"
  properties
  
–> {frontmost:false, class:application, name:"Shortcuts", version:"5.0"}
end tell

★Click Here to Open This Script 

AppleScript名:Shortcuts Eventsのプロパティを取得.scpt
tell application "Shortcuts Events"
  properties
  
–> {frontmost:false, class:application, name:"Shortcuts Events", version:"1.0"}
end tell

★Click Here to Open This Script 

ショートカット.appを起動するとこのようなウィンドウが表示されます。

あるいは、このようなウィンドウです。

ショートカット一覧が並んだ表示状態で実行することもできますし、ダブルクリックして個別ウィンドウ表示した状態で実行することも可能です。

また、メニューから実行することも可能です。

環境設定では、以下のような設定が行えます。「詳細」に「スクリプトの実行を許可」の項目があり、デフォルトではオフになっています。当然、ここはオンにします。他の項目についても適宜、自己責任でオンにすることになります。

ショートカット(ワークフロー)はローカルに保存されません。iCloud上に保存されます。

ショートカット(ワークフロー)の共有はコンテクストメニューから行います。このさい、iCloud上のURLが直接表示されないため、少々面倒な感じです。

「リーディングリスト」で共有すると、WebブラウザのURL欄に詳細なURLが表示されるため、これを用いるとよさそうです。

https://www.icloud.com/shortcuts/e788482535704922aaa9f617491353b2

新規ショートカットの作成には、メニューから「ファイル」>「新規ショートカット」(Command-n)を実行するか、ショートカット.appのウィンドウでツールバーの「+」をクリックします(すべてのショートカット、My Shortcutなど選択中のフォルダによって表示/非表示状態が変わります)。

初期状態はこんな(↑)感じです。アクションを選択してダブルクリックするか、ビュー上にドラッグ&ドロップするとアクションが置かれます。

最初なので、ダイアログでも出しておきましょう。

ツールバー上の「▶︎」ボタンをクリックするか、Command-rでショートカット(ワークフロー)を実行します。

ショートカットは名前で識別することになります。ツールバー上の名称を変更すると名前を付けられます。

AppleScript側からはこの名前「AS TEST2」を指定して呼び出すことになります。

AppleScript名:ショートカット.appでショートカット実行.scpt
tell application "Shortcuts"
  run shortcut "AS TEST2"
end tell

★Click Here to Open This Script 

AppleScript名:Shortcuts Eventsでショートカット実行.scpt
tell application "Shortcuts Events"
  run shortcut "AS TEST2"
end tell

★Click Here to Open This Script 

現在のところ、Shortcuts.appならびにShortcuts Events.appのrunコマンドでパラメータを指定すると実行時にエラーになるので、パラメータをAS側からショートカット側に指定できていません。クリップボード経由で指定するとかいってアクロバット技を使えばできないことはありませんが、パラメータを指定できないのは明らかな「バグ」です。

あとは、他のプログラムとの相互運用性を高めるためには、ショートカット側の実行結果をAS側に返してくれることが望ましいです。オブジェクトによっては、sdefを通じてやりとりできないCocoa Object(CLLocationなど)もありますが、結果は得られるべきでしょう。

ショートカット.appについては、ヘルプにけっこうな内容の説明が書かれているので、まずはそちらを読むとよいでしょう。ただ、日本語訳がよくないのか「お前は何を言ってるんだ?」という表現が散見され、説明文というよりも広告みたいな内容の箇所もあります。

Posted in news | Tagged 12.0savvy Shortcuts Shortcuts Events | 12 Comments

macOS 12が正式リリースされる

Posted on 10月 26, 2021 by Takaaki Naganoya

macOS 12が正式にリリースされました。ソフトウェアの互換性が確認されていれば、macOS 10.15や11からは(久しぶりに)乗り換える価値のあるOSです。とくに、Apple Silicon Macについては「Must Update」なOSといえるでしょう。

あらたに搭載されたmacOS用のショートカット.app

iOS用にサードパーティが出していたアプリケーション「DeskConnect」をAppleが買収してiOSに「ショートカット」の名前で搭載した自動化アプリケーション。そのmacOS版が搭載されました。Automatorの後継環境として位置付けられているもので、AutomatorのWorkflowの読み込み機能を有しています。

デフォルトでショートカットの内容をメニューバーに表示する機能があり、Script Menuのようにメニューバーから選択・実行が可能です。

自分のiOS環境にはDeskConnectをインストールしてあったので、

Mac上で見てもこんなDeskConnect時代のショートカットも残っているのですが、すでにDeskConnectが動作しないので消すしかありません。

ショートカット.appについては、現時点では「使い物にならない」という評価しかできません。Mac上で動作する標準装備ツールでありながら、実行にiOS用のアプリが必要なMac上で動かないショートカット・アクションが大量に存在しており、Mac上で実行できないことを警告する機構が存在していません。実行してはじめて「Mac上で実行できない」というエラーが表示される程度。「ツイート」アクションも、実行するとエラーになります。

ショートカットについては、Automatorよりも1つ1つのアクションに細かいものが用意されているため、Automatorよりは一般的なプログラミング言語っぽい(下手するとAppleScriptと同じぐらいの粒度の命令がある)印象さえ受けるのですが、微妙に日本語訳がこなれていないのか、日本語で表示すると理解に苦しむアクションが大量に存在しています。

下手をすると、これは「日本語AppleScript」の再来なのではないか、と思わせるような風景が展開されており、ちょっと困惑をおぼえます。

ただ、「AppleScriptを実行」アクションが搭載されており、これが一応普通に動くことを確認してあります。Cocoaの機能も呼び出せるなど、ここだけは「ちゃんとしている」印象を受けます。

ちなみに、ショートカット実行プログラムのランタイム名は「MacHelper」となっており、これは「ショートカット.app」上から実行しても、GUIなしの「Shortcuts Events.app」から実行しても同じ内容が返ってきます。

ショートカット上のAppleScriptの処理速度については、実行されるまでのチェック段階が多々存在しているため、スピードを議論するレベルではないと思います。Automatorにきわめて似た使用感です。

ショートカットのAppleScriptを実行アクションに記述するAppleScriptについては、

use AppleScript
use scripting additions
use framework "Foundation"

on run {input, parameters}
	set procInfo to current application's NSProcessInfo's processInfo()
	set aName to procInfo's processName() as string
	display dialog aName
	
	return aName
end run

と、Automatorとほぼ同一の記述方法です。この実行環境は、ローカルにインストールしたAppleScriptライブラリの呼び出しを許容するので、Switch Controlよりは自由度があります。

ここはよしあしで、iCloud経由で共有するショートカットで、AppleScriptライブラリの個別環境へのインストールが必要となるAppleScriptを含んでいる場合には、運用性が下がります。AppleScriptライブラリ自体をアクションに埋め込むような形態になっていれば話は別なんでしょうけれど。

現状では、macOS上でショートカットを運用できるメリットが少ないものと判断しました。荒削りすぎて、まだα版みたいな完成度です。こまかいところでバグも多々あります。macOS 12の登場に合わせてショートカットの書籍の発行を検討していたものの、そのあまりの完成度の低さにプランを投げ出したほどです。

それでも、現状のショートカットに対して2つだけメリットを見出すとしたら、

 (1)iOS用のアクションを編集できる大きな画面を備えた環境であること。macOS環境は「編集環境」と割り切る
 (2)macOS上でSiriによる音声認識からAppleScriptを実行できる仕組みとして活用

といったあたりでしょうか。現状ではiOS用ショートカットのクロス開発、Mac上での音声認識コマンド実行用部品 としての価値しかありません。

macOS上にはアクセシビリティ系の音声認識+AppleScript実行システムが搭載されており、macOS 10.12あたりから日本語音声認識が使えるようになりました。現状ではこのDictation音声認識システムとSiriの音声認識システムの2つのシステムが載っています。前者についてはなるべくメニューの奥深くの目立たない場所に移動されており、そのあたりに「意図」を感じずにはいられません。

Automatorを置き換える件については、現状では夢物語のレベル。もともと性格が大きく異なります。Automatorのほうがすぐれている点もあれば、ショートカットのほうがすぐれている点もあります。ただし、AppleScript Studioの仕組みを引きずっているAutomatorの機構の維持そのものにかかる手間が大きいのでしょう。移行は止むを得ないというところでしょう(現状で、Automatorが事実上何にも役立っていないので)。

AppleScript v2.8

バージョン番号を変えるほどの変化があったのか、自分にはよくわからないのですが、リリースノートが「AppKit」といった単位でしか書かれなくなったために、詳細がわかりません。

……少なくとも、macOS 10.15で極端に遅くなっていたCocoa呼び出し速度が(Intel Macでも)改善され、さらにApple Silicon MacでのCocoa呼び出し速度が大幅に向上しています(macOS 11の30〜40倍速)。これは、macOS 11+Apple Silicon MacでAppleScriptからのCocoa機能呼び出しが極端に遅くなっていた(高性能コア「FireStorm」ではなく、高効率コア「IceStorm」で実行されてしまっていた)点が修正されたためです。

Cocoaの機能を利用していない場合でも、macOS 11より高速になっているため、M1 Macを使っているScripterにはmacOS 12へのアップデートをおすすめしたいところです(職場のアプリケーションの互換性維持のため、アップデートしないというポリシーがある場合をのぞく)。

OSの構造変化による影響も受けています。既報のように、macOS内のフレームワークがmacOS 11あたりで再編(Umbrella Frameworkだったものが独立。とくにPDFKitとか)され、useコマンドで別のものを指し示すよう書き換える必要が出てきています。

macOS 12.0.1では、日本語環境でNSDataDetectorを用いて自然言語テキストから電話番号を抽出できないというバグがまだ解消されていません。

総評

このmacOS 12というOSにアップデートする価値があるのかどうか、という話については「アップデートできるならアップデートすべき」です。これは、バグだらけでリリースされて信用を大きく失ったmacOS 10.13、10.15とは異なるレベルの「ちゃんとしたmacOS」です。

また、macOS 11ではApple Silicon Macの持つパフォーマンスを発揮し切れていませんでした。M1 MacにmacOS 12を入れると、AppleScriptで作成したソリューションの動作速度の向上幅に腰を抜かすことでしょう。自分もMac App Storeで販売しているAppleScriptで記述した自作アプリケーションのかずかず(とくにKamenoko)をmacOS 12で動かすと、その速さと快適さにmacOS 11には戻れなくなってしまいました。

M1 MacでもIntel Macでも、環境が許せばすぐにアップデートすべき、近年稀に見るOSでしょう。ただし、Uncontrollableな混乱を楽しめる限りにおいて。

Posted in news | Tagged 12.0savvy Shortcuts Shortcuts Events | Leave a comment

Shortcuts Events

Posted on 6月 9, 2021 by Takaaki Naganoya

macOS 12で搭載される「ショートカット」は、iOS上の自動化ツール「DeskConnect」をAppleが買収して発展させ、Apple純正ソフトウェアとして提供されているものです。簡単な自動化を行うためのツールです。

このショートカットがmacOS 12に搭載されることがKeynoteで発表されました。さらに、ショートカットからAppleScriptが実行できることが明らかにされ、AppleScriptからもショートカットを実行できるとのこと。

タイトルにも挙げている「Shortcuts Events」が、AppleScript専用のGUIなし補助アプリケーションであり、AppleScript側からショートカットのアクションを呼び出すことができるようです。

ただし、最初のmacOS 12β版ではまだAppleScriptからショートカットのアクションを実行できないことが、Release NotesのKnown Issuesに明記されています。

  10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 11.0 12.0
Shortcuts Events ⬛︎
ColorSyncScripting ⬛︎ ⬛︎            
Database Events ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎
Digital Hub Scripting ⬛︎ ⬛︎            
FontSync Scripting ⬛︎ ⬛︎            
Image Events ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ★ ★ ★
Keychain Scripting ⬛︎ ⬛︎ ⬛︎          
System Events ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎
URL Access Scripting ⬛︎ ⬛︎ ⬛︎          
Posted in news | Tagged 12.0savvy Shortcuts Shortcuts Events | Leave a comment

WWDC21でShortcuts for Macが発表に

Posted on 6月 8, 2021 by Takaaki Naganoya

WWDC21にて、macOS 12にShortcuts for Macが搭載されることが発表されました。同ツールはAutomatorを置き換え、iPhoneやiPad上のShortcutsとは異なるクリエイティブ系に寄せたアクションが実行できるとのこと。

Shortcuts内からもAppleScriptやShell Scriptを呼び出せるようになっており、Mac上でSiriからShortcutsの呼び出しが行える=「Siriから(ShortcutsのAction上に記載した)AppleScriptが実行できるようになった」ことを意味しています。

Automatorの今後については、すでにAppleScript Studioランタイムがdeprecated扱いで、機能の追加は行われません。Xcode上に添付されているAutomator Acrtionのテンプレートも、すでにAppleScript Studioではなく「Cocoa AppleScript」(AppleScriptObjC)です。

Posted in news | Tagged 12.0savvy Shortcuts | Leave a comment

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • macOS 13.6.5 AS系のバグ、一切直らず
  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • CotEditorで2つの書類の行単位での差分検出
  • Apple純正マウス、キーボードのバッテリー残量取得
  • macOS 15, Sequoia
  • Cocoa-AppleScript Appletランタイムが動かない?
  • macOS 14の変更がmacOS 13にも反映
  • ディスプレイをスリープ状態にして処理続行
  • 初心者がつまづきやすい「log」コマンド
  • Adobe AcrobatをAppleScriptから操作してPDF圧縮
  • 与えられた文字列の1D Listのすべての順列組み合わせパターン文字列を返す v3(ベンチマーク用)
  • macOS 13 TTS環境の変化について
  • macOS 14、英語環境で12時間表記文字と時刻の間に不可視スペースを入れる仕様に
  • メキシカンハットの描画
  • 新刊発売 AppleScript最新リファレンス v2.8対応
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • 2023年に書いた価値あるAppleScript
  • 指定のWordファイルをPDFに書き出す
  • 可変次元のベクトルに対応したコサイン類似度計算
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (586) 10.15savvy (436) 11.0savvy (280) 12.0savvy (200) 13.0savvy (122) 14.0savvy (70) 15.0savvy (41) CotEditor (62) Finder (50) iTunes (19) Keynote (109) NSAlert (60) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (51) NSDictionary (27) NSFileManager (23) NSFont (19) NSImage (41) NSJSONSerialization (21) NSMutableArray (62) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (117) NSURL (97) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (65) Pages (50) Safari (44) Script Editor (24) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • Clipboard
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • diff
  • drive
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC