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

カテゴリー: news

macOS 26.3beta2が登場。System Eventsのバグ直らず

Posted on 1月 13 by Takaaki Naganoya

macOS 26.3beta2が登場しました。さっそくインストールしましたが、System Eventsのバグは修正されていません。

26.3(1月末一般公開?)でこのバグが修正されるかどうかは、ちょっとわかりません。

AppleScript名:System Events経由でscreen saver infoを取得.scpt
tell application "System Events"
  set sPref to (screen saver preferences)
  
set aRunF to running of sPref
  
–> false
  
  
set sClockF to show clock of sPref
  
–> false (macOS 15.7.4)
  
–> error "System Eventsでエラーが起きました: AppleEventのハンドラで誤りが起きました。" number -10000 (macOS 26.3)
  
  
set mScreenF to main screen only of sPref
  
–> false (macOS 15.7.4)
  
–> error "System Eventsでエラーが起きました: AppleEventのハンドラで誤りが起きました。" number -10000 (macOS 26.3)
  
  
set aClass to class of sPref
  
–> screen saver preferences object(macOS 15.7.4)
  
–> screen saver preferences object(macOS 26.3)
  
  
set dIntvl to delay interval of sPref
  
–> 0 (macOS 15.7.4)
  
–> error "System Eventsでエラーが起きました: AppleEventのハンドラで誤りが起きました。" number -10000 (macOS 26.3)
  
end tell

★Click Here to Open This Script 

Posted in Bug news | Tagged 26.0savvy System Events | Leave a comment

2025年に書いた価値あるAppleScript

Posted on 12月 29, 2025 by Takaaki Naganoya

2025年に使用していたmacOS:macOS 15+macOS 26

毎年行なっている、Piyomaru Softwareが書いたAppleScriptの1年を振り返る記事の2025年版です。

2008年から10年ほど運営を続けてきた旧「AppleScriptの穴」Blogが2018年の年初にホスティング会社との行き違いでシャットダウンされ、ゼロから再構築したのが現行の「AppleScriptの穴」Blogです。

→ 2018年に書いた価値あるAppleScript
→ 2019年に書いた価値あるAppleScript
→ 2020年に書いた価値あるAppleScript
→ 2021年に書いた価値あるAppleScript
→ 2022年に書いた価値あるAppleScript
→ 2023年に書いた価値あるAppleScript
→ 2024年に書いた価値あるAppleScript

旧「AppleScriptの穴」Blogの内容については、データベースから抜き出したデータをもとに再構成した「Blogアーカイブ本」にまとめています。

AppleScriptの穴Blogアーカイブvol.1
AppleScriptの穴Blogアーカイブvol.2
AppleScriptの穴Blogアーカイブvol.3
AppleScriptの穴Blogアーカイブvol.4
AppleScriptの穴Blogアーカイブvol.5
AppleScriptの穴Blogアーカイブvol.6

本Blogは、もともとは、2000年代初頭に開発していた「人工知能インタフェース Newt On」のソースコード部品バラバラにして掲載し、用いた部品を個別にメンテナンスすることを「隠れた目的」としていました。また、Scripter間のノウハウの共有を推進することも目的としています。

AppleScript以外の一般的なテーマの記事については、こちらにいろいろ投稿しています。

https://note.com/140software/

前述のとおり、2018年1月にいちど本Blogは消えていました。その際に、「本Blogが存在しない場合にはどのような現象が起こるのか」を観察。その結果、AppleScriptについて知識を持たない人たちが好き勝手に「嘘」を流布しはじめる、という現象が観測されました。本Blogはそうした「嘘つき」を封じ込めるためのキーストーンとしての役割を果たしているといえます。

電子書籍の発行状況

本Blogを公開しているだけでは、ホスティング費用やドメイン費用がかかるだけで、何も収益が生まれません。そこで、本Blog+αの情報を整理してまとめた電子書籍を発行しています。本Blog読者のみなさまにおかれては、電子書籍を購入することで本Blog運営を支えていただけますと幸いです。

電子書籍の2025年末における刊行は、現時点で98冊。年間4冊となっています。

AppleScriptセキュリティ実践ガイド
AppleScript+Xcode GUIアプリソース集
AppleScript最新リファレンス v2.8対応 v2.0
スクリプトエディタScripting Book with AppleScript

目下、既刊本の最新環境へのアップデートを実行中です。

2025年に書いたAppleScriptの中で注目すべきもの

Blogよりも電子書籍用(掲載用、作業用)にかなりまとまったScriptを書いていたため、そちらの充実度が光ります。とはいえ、かなり技術的に重要なScriptをBlogにも多数書いています。ChatGPTを用いてScriptの作成を行なってみたところ、技術的な難易度が高い割につまらないとか、書くのが面倒くさいとか、すでに存在するものを作り直したくないといった「人間が書くのは気が乗らない」ものを中心に、Webブラウザとのやりとりだけで書けているので

2025年1月
NSObjectのクラス名を取得 v2.1

NSObjectのクラス名を取得 v2.1

Script Debuggerの開発が終了したことを受けて、Xcode上でAppleScriptObjCによるAppleScript開発環境の構築の可能性や、Xcode Projectの作業性の向上をねらって、とりあえずログに情報を出すためのまともな手段を用意しておこうと考えたものです。

こうした試みの成果により、Xode上でもともとのlogコマンドのように情報の確認が行えるようになってはいるものの、やはりlogコマンドが使えないと取りきれない(特定し切れない)バグなどもあるので、logコマンドの正常化には期待を寄せたいところです。

2025年2月
画像をAppleScriptでアスキーアート化

画像をAppleScriptでアスキーアート化

これは、Script内容自体は割とどうでもいいのですが、ChatGPTで高度なScriptを書かせる実験の一環です。やればできることはわかっていつつも、めんどうくさいので書きたくない種類のScriptをChatGPTに書かせてみました。

かなり使えるという手応えが得られたので、一歩進めてObjective-CのプログラムもChatGPTに書かせ、書籍のオマケ用に利用しています。

2025年3月
NSIndexSetを作成し、各index要素を取り出す

NSIndexSetを作成し、各index要素を取り出す

これも、ChatGPTに書かせたものです。必要に迫られて書く必要があったものに対して、ChatGPTを利用。Cocoa Scriptingのプログラムは、割とAPIの仕様を確認して、それに合わせるだけの内容のものが多いため、「プログラミングというよりも作業」だと感じていました。つまり、Cocoa ScriptingはChatGPTなどのLLMとの相性がいいと言えるかもしれません。

2025年4月
macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ

macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ

自分で書いたScriptという話ではなく、macOSのバグの話です。これをレポートするために、割といろいろ書いて試行錯誤しました。一応、macOS 15.5のRelease版で修正されたしたが、ちゃんと検証してからReleaseしてほしいところです。

Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行

Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行

Xcodeのログに出力するObjective-Cのプログラムを見つけたので、以前に作ったものと組み合わせてかなり便利に使えるようになりました。

2025年5月
macOS 26, Tahoe

macOS 26, Tahoe


Beta登場時に「Finderにempty trashコマンドを実行するとエラーになる」バグが発見されており、Release版で修正されていなかったことに驚かされました。

2025年6月
macOS 26, 15.5でShortcuts.app「AppleScriptを実行」アクションのバグが修正される

macOS 26, 15.5でShortcuts.app「AppleScriptを実行」アクションのバグが修正される

CotEditor用ブロック崩しゲーム

CotEditor用ブロック崩しゲーム

ChatGPTに書かせてみたものですが、CotEditorの最前面の書類ウィンドウの内容をAppleScriptで書き換えてゲームを実現してみました。

2025年7月
ASCII ARTで円を線で描く
ASCII ARTで円を塗る
ASCII ARTで直線を引く v3.1

テキストで作成した仮想画面に対して各種描画を行うものです。ChatGPTに書かせて手動で高速化を行なっています。

2025年8月
開始時刻から終了時刻までhh:mm形式の文字列を15分単位でリスト出力

開始時刻から終了時刻までhh:mm形式の文字列を15分単位でリスト出力

1か月分の(奥様の職場の)勤務パターンの視覚化、勤務形態を自動で処理できないかと考えて試作したものです。

2025年9月
暗黙のuseコマンド

暗黙のuseコマンド



個人的に忙しかったのですが、海外の掲示板で聞かれた内容についてまとめたものです。この記事を書く義理は400%なかったのですが、まとめておきました。掲示板にリンクURL を置いておき、あとは勝手に質問者が翻訳サービスなどを使って翻訳すればよいのでは? と、考えてそのまま放っておいたら、掲示板のアカウントが「日本語でコメントを書いた」などの理由で停止されていました。まったくおかしな理由でアカウント停止にされたので、その掲示板のことは忘れることにしました。なので、その掲示板にはログインできないし、メッセージを受け取ることもできません(何回書いても理解してもらえないようなので困っております。どうして被害者の自分が何回も無駄な説明をしなくてはならないのでしょう)。

macOS 15.xで自作AppleScriptライブラリの一部がScript Menuから使えなくなったので修正

macOS 15.xで自作AppleScriptライブラリの一部がScript Menuから使えなくなったので修正

割と困って、いろいろ書き換えてテストしていたのですが……どうやら、JXAをサポートするためにパラメータ(enum)をas stringでcastしていた部分が、スクリプトメニュー上で動かした場合にエラーになっていました。つまり、「AppleScriptライブラリでJXAをサポートしてはいけない」というのが現状のようです。

JXAはバージョン1.1でアップデートが停止しているため、動いても動かなくても知らないよという存在に見えます。

指定フォルダ内から指定拡張子のファイルを取得し、エイリアスだったらオリジナルのパスをPOSIX pathで取得

指定フォルダ内から指定拡張子のファイルを取得し、エイリアスだったらオリジナルのパスをPOSIX pathで取得

フォルダにScriptを入れて動作を行うプログラムにおいて、Scriptのエイリアスを入れておけば処理できるようにしたかったので書いたものです。

各種GUIアプリ書類のオープン速度を向上するためにUIアニメーションの一時停止を

各種GUIアプリ書類のオープン速度を向上するためにUIアニメーションの一時停止を

これは、久しぶりに大笑いしました。たったこれだけのささいな処理を追加するだけで、書類のオープン/クローズをともなう処理において、1書類あたり0.2秒、400書類で80秒も処理速度が向上。つまり、M1 MacでM4 Macと同等の速度を叩き出すことが可能になるわけで、実に爽快な話です(M4で実行すればM4なりに速くなります)。

スクリプトメニューでAirDropが使えない?

スクリプトメニューでAirDropが使えない?

macOS 15/26上のスクリプトメニューに対してAppleの魔の手が迫ってきました。セキュリティ上の制限がさらに厳しくなり、スクリプトメニュー内でAirDropを呼び出すAppleScriptの実行が妨害されるようになりました。

2025年10月
指定日が所属する週のうち、最終日の日付を求める v2

指定日が所属する週のうち、最終日の日付を求める v2

かなり込み入ったカレンダー計算系Scriptです。ただ、書いた甲斐はあったと思います。
カレンダー計算系のScriptは「Newt On Project」の遺産であり、自然言語とAppleScriptを組み合わせた処理を行ううえで、欠かせないものです。

FaceTimeカメラから取り込み v1

FaceTimeカメラから取り込み v1

Cocoaの機能を利用して、FaceTime Cameraから静止画を取り込むものです。いま、ちょうどXcode上で同様のテストを行なっているのですが、なかなか取り込めません。

タブでインデントしたテキストをOutLineViewで表示できるデータ形式に変換 v4(3階層対応)

タブでインデントしたテキストをOutLineViewで表示できるデータ形式に変換 v4(3階層対応)

NSOutlineViewをアラートダイアログ上に表示する「箱庭ダイアログ」系のScript Librariesを準備していますが、単にOutlineViewを表示できるだけでなく、タブでインデントしたテキストデータの構造を読み取ってOutlineViewを表示できるようにする必要性を感じて作成したものです。これも、めんどくさかったのでChatGPTに書かせて添削を行ないました。

階層を指定したlistからOutLineViewで表示できるデータ形式に変換 v4(3階層対応)

階層を指定したlistからOutLineViewで表示できるデータ形式に変換 v4(3階層対応)

1つのScriptを書けたからといって、運用上すべてのニーズを満たせるわけでもありません。複数のやりかたが存在するので、複数のデータ型でパラメータを受け取る準備はしておく必要があります。タブでインデントしたテキストが適しているパターンもあれば、リストで指定するのが適していることもあります。

macOS 15.7.2 スクリプトメニューから実行できなくなった地図系ライブラリ?

macOS 15.7.2 スクリプトメニューから実行できなくなった地図系ライブラリ?

NSAlertダイアログにさまざまなGUI部品を載せて利用する「箱庭ダイアログ」シリーズにおいて、地図を表示するものは実に使い勝手のよい部品です。ただし、スクリプトメニューから実行したときにMkMapViewを表示するScriptが実行できなくなっていました。とはいうものの、すべてが実行できなくなっているということではなく、一部に表示できるものもあり……まだ問題点の洗い出しが済んでいません。住所ジオコーダーまわりは実行できない環境が多いのですが、より機能が低いライブラリで実行できなかったりと、なかなか理解しにくいものがあります。

2025年11月

YouTubeムービー再生実験 v2c

YouTubeムービー再生実験 v2c

YouTube側の仕様が変わったことで、「display youtube」ライブラリを書き換える必要が出てきました。こうした箱庭UIライブラリを公開している人は(Shaneのライブラリは方向性が違いすぎるし)ほかにいないので、なかなか苦労させられます。幸いにしてedama2さんの助言を得られて最小限の修正(Local Web Serverを使用しない)で済みました。

Keynote書類上の選択中の2つのテキストアイテムで、左を比較元、右を比較先として行単位の差分を比較先に赤くマーク

Keynote書類上の選択中の2つのテキストアイテムで、左を比較元、右を比較先として行単位の差分を比較先に赤くマーク

diffとほぼ同じ動作をGUIアプリ上のオブジェクト内のテキスト同士に対して実行できています。Keynote版とPages版を用意しました。こういう道具の必要性を感じていたので、たいへん便利です。これまで、個人的に「車輪の再発明」をなるべく避けていましたが、自分で書くのでなければ再発明上等。ChatGPTは、他の処理系や言語で書かれた既存の処理をAppleScriptで再現するのが一番得意に感じます。

Posted in news | Tagged 15.0savvy 26.0savvy | Leave a comment

CotEditor 6.2リリース AS用語辞書に変更なし

Posted on 12月 14, 2025 by Takaaki Naganoya

CotEditor 6.20がリリースされました。

前バージョンから14箇所ほど変更点が見られますが、すべて説明文の内容であり機能が追加されたり変更されていることはありません。

Posted in news Update | Tagged 26.0savvy CotEditor | Leave a comment

「AppleScriptセキュリティ実践ガイド」を発売

Posted on 11月 6, 2025 by Takaaki Naganoya

電子書籍の新刊を発売しました。「AppleScriptセキュリティ実践ガイド」です。PDF 562ページ、サンプルAppleScriptのZipアーカイブを添付。

→ 販売ページ

macOS上の各種機能を自由に呼び出せて、GUIベースのアプリの機能や情報を呼び出せる強力なAppleScriptは、ソースコードが読めない実行専用形式で、Scriptやアプレットとして公開可能です。

しかし、「暗号化済み」のように見える「実行専用形式」で保存されていたとしても、実際にはApple Events Codeという命令列の形で格納されており、文字列に関してはターミナル上でhexdumpやstringsコマンドによるダンプ出力が可能です。

さらに、昨今ではApple Events Codeそのものをダンプ(=内部の命令構造を可視化)するツールが登場。防衛用のツールですが、攻撃側もこれを利用できる状態にあります。

本書では、Apple Events Codeのダンプツールによってどのような情報が「抜かれ」、それらが実際にどのように見えるのかを詳細に検証しています。

実行専用のScript/アプレットで書き出した内容をダンプ(Apple Events Codeのダンプ)するapplescript-disassemblerと、その出力内容を読みやすく整形するaevt-decompileを用いて、さらにそれらを統合して使いやすくした統合ダンプツールをAppleScriptで開発。

対象フォルダ中のAppleScript書類を実行専用形式で書き出し、ダンプツールで解析して結果をテキスト書き出し……という作業フローを一括で行います。これを、さまざまな構造の複雑さを備えたテスト用AppleScriptに対して、さまざまなデータ型のデータを記述してどの程度漏洩するのか、しないのかを確認しています。

また、すべてのAppleScript予約語を含むサンプルScriptを作成し、個別にどのようにApple Events Codeにダンプされるかを掲載しています。

その上で、想定されるリスクと防止策を提示し、AppleScriptを安全に活用するための基礎資料としてご活用ください。

目次

1章 「実行専用」は安全なのか?

AppleScriptの概要と機能のひろがり/実行プログラムのひろがり/システム設定による機能制限/ヘックスダンプや文字ダンプで得られる情報/Apple Events関連の参考資料/コラム 本書掲載のAppleScriptリストの構文色分け設定について

2章 AppleScriptアプレットの構造

スクリプトエディタでアプレットを作成/書き出したアプレットの内部構造を追う/クラシックOS時代のアプレットのscptリソースの内容と比較

3章 Apple Eventダンプによる情報抽出

アップルスクリプトの完全なデコンパイルは無理/あくまでApple Events Codeとして解釈して読みやすくする/applescript-disassembler/aevt_decompile/統合分析ツールas_disassem+decompile/strings/hexdump

4章 実行専用スクリプトから漏れる情報の実態

Apple Events Code上で各データ型がどう見えるか?/プログラムの複雑さを変更して結果を調べる/アルファベット+数字/日本語の文字列/絵文字の文字列/真偽値/整数値/実数値/dateオブジェクト/数値のリスト(配列)/文字列のリスト(配列)/レコード/アプリケーションのオブジェクト/Xcodeで開発したAppleScrIptObjCアプリ

5章 情報漏洩をふせぐ技術的手法

安直なダンプで見えない形式でユーザー名やパスワードを記述/キーチェーンに情報を保存して内容を取り出すにしてもアクセス用キーワードは必要/データ暗号化の基礎①シフト暗号/データ暗号化の基礎②暗号表による換字式暗号/データ暗号化の基礎③多表式暗号と鍵のしくみ(ヴィジュネル暗号)/データ暗号化の基礎④「鍵」をさらに安全・自動的に扱う仕組みをもつOpenSSLによる現代暗号/プログラム難読化①データ形式変更/プログラム難読化②変数名絵文字置換/プログラム難読化③構造高度化

6章 安全な配布のための設計指針

アップルスクリプトの配布形態とかけられる労力の違い/配布時に最低限でもコード署名が必要。そのために開発者登録も必須/習熟のために経験しておきたいアプレットのオンライン配布

7章 AppleScriptのセキュリティ再考

最近発生したAppleScriptがらみの諸問題はメモリリーク/ユーザー名やパスワード、APIキーをスクリプト内に平文で記録すると危険/かつては可能だったアプリとAppleScript間の通信傍受もいまや不可能に/ネットワーク経由の操作は、途中で傍受される危険性も/AppleScript実行ツールで、埋め込みテキストのスクリプトを設定ファイルに平文保存?

8章 Apple Events Codeダンプ分析資料

全予約語を含む記述例を実行専用状態でApple Events Codeダンプ

9章 ダンプ結果から見る情報露出傾向と対策

コマンド、記述方法、データ型から読み解く露出傾向/script objectによるダンプ対策が有効/「OSAMiner事件」から再考されたAppleScript環境におけるセキュリティ対策/コラム 本書作成のために作成・使用したAppleScript

Posted in Books news Security | Tagged 15.0savvy 26.0savvy | Leave a comment

macOS 26.1が登場。Finderのバグが直らない?

Posted on 11月 4, 2025 by Takaaki Naganoya

macOS 26.1がリリースされ、macOS 26.0で発生していたFinderまわりのバグが、一応修正されたような形跡もあるのですが、結論からいえば別のエラーが出るようになりました。

macOS 26.0:
ゴミ箱に何も入っていない状態で、AppleScriptからFinderに「empty trash」を実行すると、タイムアウト時間(180秒)まで待ってタイムアウトエラーに。

macOS 26.1、26.2:
ゴミ箱に何も入っていない状態で、AppleScriptからFinderに「empty trash」を実行すると、時間待ちしないでエラーに。

一応、empty trashをtry〜end tryで囲っておけば、ゴミ箱が空の場合に発生するエラーを回避できます。

AppleScript名:empty trash test 2.scpt
tell application "Finder"
  try
    empty trash
  end try
end tell

★Click Here to Open This Script 

Posted in Bug news | Tagged 26.0savvy | Leave a comment

日本のMac App StoreにEntanglerがカムバックしていた。が……

Posted on 11月 4, 2025 by Takaaki Naganoya

iOSデバイス(iPhone/iPad)からMac上のAppleScriptを実行するアプリには、

  EventScript(LAN/WLANを介して実行)
  Entangler(iCloudを経由して遠隔実行)

の2つがあるのですが、Entanglerについては日本のMac App Storeからしばらく消えていました。

このため、各種電子書籍でもentanglerの紹介については差し止めていました。海外のMac App Storeに出ているのは確認していたのですが、日本のMac App Storeで入手できないのでは紹介できません。

久しぶりにMac App Storeでいろいろ確認作業を行なっていたところ(AppleScriptでキーワード検索する程度のかんたんな作業)、Entanglerを見つけることができました。

これらのアプリには、

EventScripts:Keynoteのスライドめくりなど、割と応答速度が求められるような操作
Entangler:外出先から部屋の様子を撮影してメッセージで返すなど、リアルタイム性がシビアに求められないが、遠くから実行することに意義のある操作

といった「棲み分け」が発生しており、両方が存在する意義があると思っています。

……と、ここまでなら「心あたたまるニュース」であったのですが、Mac App Store上のリンクURLのリンク先(http://andymolloy.net/Entangler/)が応答不能(No Response)になっており、ちょっと心配です。

https://www.entanglerapp.com も、中華系のサイトが表示されるなど、きな臭い印象です。

ドメイン失効時にドメイン占有業者に乗っ取られたと見るべきでしょうか。ただ、これまで日本のMac App Storeに出ていなかったこのアプリが復帰した経緯がよくわかりません。

今後も、行方を注目しておくべきでしょう。

Posted in news Remote Control | Tagged 15.0savvy | Leave a comment

Adobe InDesignのAppleScript実行エンジンがCarbonからCocoaベースに書き換えられる

Posted on 7月 30, 2025 by Takaaki Naganoya

最新のAdobe InDesignにおいて、AppleScriptの実行エンジンが従来のCarbonベースのものから、Cocoaベースのものに置き換えられるという情報が入ってきました。

実行エンジンの切り替えにともない、利用できる各種機能に変更点があるかどうかは未確認です。

従来のAdobe InDesignのAppleScript実行エンジンはCocoa系の機能実行に関しては最強レベルのものが搭載されており、Script Debugger並みのユーザーディレクトリ下のFramework呼び出しをはじめ、最強クラスの実行エンジンが搭載されていました。

通常のAppleScript実行はもちろんのこと、幅広い対応を行なっていたCocoa Scripting機能対応が、どの程度新エンジンに継承されているかがみどころです。評価できるといいのに。

Posted in news | Tagged 15.0savvy InDesign | Leave a comment

Claris FileMaker Pro 2025(v22)がリリースされた

Posted on 7月 12, 2025 by Takaaki Naganoya

Appleの子会社であるClarisから、Claris FileMaker Pro 2025(v22)がリリースされました。

AppleScript名:Claris FileMaker Pro 2025のバージョン番号取得.scpt
tell application "FileMaker Pro"
  version
  
–> "22.0.1"
end tell

★Click Here to Open This Script 

AppleScript用語辞書は前バージョンから変更されていません。

Posted in news | Tagged 14.0savvy 15.0savvy 26.0savvy | Leave a comment

Script Debuggerがフリーダウンロードで提供されることに

Posted on 6月 16, 2025 by Takaaki Naganoya

2025年1月1日に製品開発の終了を宣言した、AppleScriptの統合開発環境「Script Debugger」について、Late Night Software, ltd.のWebサイトからダウンロードできるようになりました。

→ Download Script Debugger

過去の各バージョンのScript Debugger(v4、v4.5、v5、v6、v7、v8)をダウンロードでき、Registration Numberが記載されています。

ただし、As Isで提供されるものであり、サポートや新たに発見されたバグについては免責とされています。

Posted in news | Tagged Script Debugger | Leave a comment

macOS 26, Tahoe

Posted on 6月 10, 2025 by Takaaki Naganoya

バージョン番号のリナンバーが行われ、macOS 15の次はmacOS 26ということになりました。AppleScriptで「system info」を実行すると、 system version:”26.0″が返ってきます。

スクリプトエディタのバージョンは上がっていませんが、Dark Modeへの対応が行われており、エディタ背景がDark Modeで暗くなるようです。ウィンドウの角丸の半径が大きくなって、全体的にオモチャみたいな印象を受けます。個人的に嫌いではないですが、画面を広く使えない(余白が多い)ので現場によっては困ることも。

AppleScriptのバージョンは2.8で変更なし。まだそんなに真剣に使っていないので、AppleScriptから見て挙動が変わったかといった点はわかりません。

β版のmacOSでありがちな、バージョン取得機能ミスや、aliasからPOSIX pathへの変換ミスなどは見られませんでした。

ただ、WWDC Keynoteで見られたガラス調のUIの見た目については、現時点では見られず、これがまだ実装が間に合っていないためなのか、M1 Mac miniだと環境的に再現しないのかは不明です。

テキスト読み上げ音声系のVoice Characterが増えたりはしていないのですが、「プレミアム」と「拡張」が同時に存在しているなど、ポリシーにゆらぎが見えます。どちらかにするのではないんですね。

バグ:
スクリプトエディタ内からスクリプトメニューをオンに設定しても、ステータスメニュー上にスクリプトメニューが表示されません。すぐにオフになります。この点はバグでしょう(調査が始まったとの話)。
→ 本件はリリース版で修正ずみです(βで修正されていました)

Xcode 26でAppleScript App templateが認識されませんでした。関係者に報告していますが、回答はもらっていません。一応、既存のXcode ProjectをmacOS 26に持って行って、ビルド+実行できることは確認しています。テンプレートの場所や記法が変わったのかも?

→ Xcodeのテンプレートのフォルダが変更になったようです。従来は、~/Library/Xcode/Templatesでしたが、Xcode 26では~/Library/Developer/Xcode/Templates に変わっていました(ドキュメントとかヘルプに記載なし)。

→ 関係者との協議のすえ、これは自分の勘違いで最初から ~/Library/Developer/Xcode/Templates であったことが判明しました。

リリース版のmacOS 26で試したところ、従来どおりの組み方ではStatus Menu Itemを作成するAppleScriptがうまく動作していません。バグなのか、仕様変更なのかは不明です。

■FinderのBug

Michael Tsai氏がX上に投稿しているのを見つけましたが、Finder上でゴミ箱が空の状態で、empty trashを実行するとFinderが応答せず、タイムアウトエラーになるというFinderのバグが確認されています。

Tahoe AppleScript Timeouts

自分も、同じ内容をmacOS 26.1βの日本語環境で再現することを確認しました。

■System EventsのBug

System EventsのScreen Saver preferencesにバグがあります。

show clock
main screen only
delay interval

の3つのpropertyについて、AppleScript用語辞書に記載はあるものの、アクセスするとエラーになります。

AppleScript名:screen saver info.scpt
tell application "System Events"
  set sPref to (screen saver preferences)
  
set aRunF to running of sPref
  
–> false
  
  
–set sClockF to show clock of sPref
  
–> false (macOS 15.7.4)
  
–> error "System Eventsでエラーが起きました: AppleEventのハンドラで誤りが起きました。" number -10000 (macOS 26.3)
  
  
–set mScreenF to main screen only of sPref
  
–> false (macOS 15.7.4)
  
–> error "System Eventsでエラーが起きました: AppleEventのハンドラで誤りが起きました。" number -10000 (macOS 26.3)
  
  
–set aClass to class of sPref
  
–> screen saver preferences object(macOS 15.7.4)
  
–> screen saver preferences object(macOS 26.3)
  
  
set dIntvl to delay interval of sPref
  
–> 0 (macOS 15.7.4)
  
–> error "System Eventsでエラーが起きました: AppleEventのハンドラで誤りが起きました。" number -10000 (macOS 26.3)
  
end tell

★Click Here to Open This Script 

Posted in Bug news | Tagged 26.0savvy | Leave a comment

Apple、macOS 16でクリップボードへのアクセスを制限

Posted on 5月 13, 2025 by Takaaki Naganoya

AppleがmacOS 16でクリップボードへのアクセスをiOSアプリ同様に制限する(認証を求める?)らしい、という話が出てきました。

Apple、Macアプリによるクリップボードの無断アクセスを制限へ

それだけなら、「なるほど」という話になるのですが、例によって検証をまともに行わないことが予想されるために、アプリ/アプレットのアイコンへのドラッグ&ドロップや、「サービス」を提供するプログラムにGUIがない場合に影響が出てくることでしょう(認証はGUIを持つプログラムに対してのみ行えるため)。

# 「サービス」機能は各アプリでメンテナンスしていないはずなので、対応せずに全滅するかも?

これは、相当に広い範囲にわたって影響が出るはずなので、問題動作がいたるところで発生することが予想されます。

各AppleScript実行プログラムに対してセキュリティ設定を行わないと、ファイルのドラッグ&ドロップやクリップボードの操作コマンドに問題が出るはずです。

Posted in Bug news | Tagged 16.0savvy | Leave a comment

macOS 15.5beta5(24F74)でaliasのキャスティングバグが修正された???

Posted on 5月 7, 2025 by Takaaki Naganoya

macOS 15.5beta5(24F74)が配信されたので、報告済みのバグが修正されているかを確認しました。

日本語環境で特定パターンのファイル名のファイルパスをas aliasでキャストすると処理系まるごとクラッシュするバグ
→ 修正されたように見えます。報告したファイル名パターンで追試したものの、クラッシュは確認されません。

ただ、Appleの傾向として「一度直った箇所が、複数チーム間の連携不足(絶無?)ですぐに再発」するので、経過観察といったところでしょうか。これまでに発生した(つまらない)バグ同様、何回も繰り返して発生することが予想されます。

アクセシビリティ系の音声コマンドの一覧が呼び出せないバグは、本バージョンでは修正されていません。

Posted in Bug news | Leave a comment

Notebook LMを用いてPiyomaru Softwareの電子書籍からPodcast生成した音声番組例

Posted on 5月 1, 2025 by Takaaki Naganoya

GoogleのオンラインサービスNotebook LMを用いて、自分の書いた電子書籍を入力して、そのまとめ音声番組を生成させてみました。

http://piyocast.com/as/wp-content/uploads/2025/05/AppleScript-Reference-and-Techniques-3.m4a

すごっ!!(^ーー^;;;;;

http://piyocast.com/as/wp-content/uploads/2025/05/AppleScript-Reference-and-Techniques-2.m4a

Notebook LM自体に「アップロードするファイルは200MBまで」「アップロードできるのは全部で50本まで」という(無料使用時の)制限があるため、その範囲内での試用ということになります。

音声番組を手軽にアウトプットしてくれることに驚かされます。また、細かいところではちょっと間違いがあるものの、テーマを与えるとおおまかに「それっぽく」まとめてくれるのは驚きです。しかも、機械音声読み上げ(Text To Speech)なのにおっそろしくこなれています。

全体の印象としては、NHKの朝のニュースの5分ぐらいのコーナーのイメージでしょうか。

Posted in news | Leave a comment

macOS 15.5beta4で報告済みのバグ何も直らず

Posted on 4月 29, 2025 by Takaaki Naganoya

macOS 15.5beta4が配信されましたが、とくに報告ずみのバグは何も直っていません。15.5台では直らないというよりも、バグとして認識していないんじゃないでしょうか?

正式リリースされたようですが、アクセシビリティの音声コマンドが動作していないバグについては、修正されていません。

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

macOS 15.5betaでアクセシビリティの音声コマンドが動作せず

Posted on 4月 23, 2025 by Takaaki Naganoya

macOS 15の初期バージョンでは動作することを確認していたのですが、目下macOS 15.5beta3でアクセシビリティ系の音声コマンドの機能が呼び出せないことを確認しています。

同機能は、日本語のファイル名をつけたAppleScriptアプレットを音声で呼び出せるため、音声操作が必要な用途では役立つものとして機能をチェックしてきました。ただ、Appleのワイヤレスヘッドセットのうち、AirPodsは音声認識に使えるもののAirPods Proが音声認識に使えなかったりと、ちょっと微妙な立ち位置になっていました。

AirPods/AirPods Proが使えるSiri系の操作機能と、この音声コマンドの2系統の音声操作機能が存在しており、統合するのかそのままなのか、さっぱり方向性が見えていない中のできごと。

アクセシビリティの機能が「システム設定」に存在しているのですが、画面上から内容を確認しようとするとエラーになります。

この問題は、日本語環境でも英語環境でも発生しています。


▲システム設定の「アクセシビリティ」>「音声コントロール」を選択


▲画面下の方の「Commands…」で音声コマンドの一覧を確認しようとして、クリックすると


▲エラーが出て表示されない

Posted in Bug news | Leave a comment

【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ

Posted on 4月 21, 2025 by Takaaki Naganoya

特定のパターンのファイル名のパスをaliasにcastする処理で処理系まるごとクラッシュするというmacOS 15.5β版(15.5 Beta(24F5053f))のバグ。

もっと以前から存在していたのかもしれませんが、特定のファイル名だとクラッシュを引き起こす前代未聞のバグがすごすぎて、いろいろ調べてみました。

文字依存する箇所はごくわずかで、いろいろ規則性があることがわかってきました。

・15.5 Beta(24F5053f)の日本語ユーザー環境(Primary LanguageをJapaneseにした状態)で発生。英語環境に変更すると発生しない
・ファイルパスをaliasにcastすると即・クラッシュ
・アルファベットとひらがな/カタカナが混在している必要がある???
・拡張子の種別は関係なく発生
・一定の文字数以上の長さが必要
・決定的な問題を引き起こすのは、濁点/半濁点つきのひらがな/カタカナが入っていること
・当初、記号文字やスペースが入っていることが条件かと思っていたが、これらを除去しても発生
・濁点/半濁点つき文字はファイル名の特定文字数以降に登場する必要がある。冒頭に移動させてもクラッシュは発生しない
・同じ処理内容のJXAでもクラッシュが発生する
・これらのクラッシュを誘発するファイル名がフォルダ名についていてもクラッシュは発生しない

現時点でクラッシュを発生させる最低限のファイル名は、

AAXAAXXあああああああああパ1.txt

であることを確認しています。

追記:
macOS 15.5β3(24F5053j)でも継続して発生中です。

追記:
macOS 15.5正式リリース時には解消されました。

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

Skimがv1.7.9にアップデート

Posted on 4月 15, 2025 by Takaaki Naganoya

オープンソースのPDFビューワー「Skim」がv1.7.9にアップデートしました。AppleScript用語辞書に変更が加わっていますが、説明文が追加された程度であり機能面での変更は見られません。

Posted in news | Tagged 13.0savvy 14.0savvy 15.0savvy Skim | Leave a comment

AppleScript Dropletのバグっぽい動作が「復活」(macOS 15.5β)

Posted on 4月 11, 2025 by Takaaki Naganoya

ファイルのドラッグ&ドロップを受け付ける「ドロップレット」の異常動作がmacOS 10.12からずっと続いてきました。AppleScriptドロップレットに対して(Finderから)ファイルをドラッグ&ドロップすると、欠落するものが出てくるという現象です。

昨年、macOS 15.2betaか15.1あたりでこのバグが解消されたように見えました。

(確認中)AppleScript Dropletのバグっぽい動作が解消?

「見えました」というのは、一応現象としては観測できつつも、その動作を意図して実現していないんじゃないか、という懸念があったためです。つまり、Appleの現場なりマネージャー級で意思決定が行われた成果ではなさそうだ、と判定。

この動作がmacOS 15.5βで以前と同様の動作に戻っている(バグ的な動作)ことを観測しています。

on open droppedFiles
set fileCount to count of droppedFiles
display dialog “ドロップされたファイルの数: ” & fileCount buttons {“OK”} default button 1
end open

一応、ドラッグ&ドロップされたファイル/フォルダの受付で取りこぼしが出ないように対策は(Scripter側で工夫して)できているのですが、上記のように一般に知られている単純な受信コードでは対処できません。

ChatGPTをはじめとするLLMでは、上記のような単純なコードを出力することを確認しています。そして、Apple側がOSに不具合を発生させた場合にはLLMが出力するコードでは対処できません。

そして、macOSのヘルプメニューから表示できる「AppleScriptヘルプ」に書かれているドロップレットのコードがまともに動かないというのでは、話になりません。

Posted in Bug Droplet news | Tagged 15.0savvy | Leave a comment

iWork Appsがバージョン14.4にアップデート

Posted on 4月 6, 2025 by Takaaki Naganoya

iWork Apps(Keynote、Pages、Numbers)がバージョン14.4にアップデートしました。各アプリのAppleScript用語辞書に変更はありません。

Pagesで継続して発生している、現在画面上で表示中のページ+2見開きのページ上のオブジェクト情報の取得/操作が行えない現象については、修正されていません。

Apple側はこれをバグとも思っていないようですし、修正するつもりもないのでしょう。この不具合に対処するために、情報取得する対象のページを強制的に表示するよう指示する必要があることでしょう(そんな機能はないので、GUI Scriptingで?)。

Pages書類の各ページ上の表の座標を求めると、正しい値が返らない

Posted in news | Tagged 14.0savvy 15.0savvy Pages | Leave a comment

AppleScript Explored 最新OS&Xcode対応 日本語版?

Posted on 2月 18, 2025 by Takaaki Naganoya

個人的な資料として、Shane Stanleyの電子書籍「AppleScript Explored」を日本語訳して使っておりました。部分的にmacOS最新版+Xcode最新版にスクリーンキャプチャを入れ替えて。


▲あくまで自分用の私的な資料として作成した日本語版


▲自分用だったので、装飾のたぐいはほとんどなし


▲いつもの感じでレイアウトを作るとこんな感じ?

最初の版から、購入して読んでいましたが……実にいい本です。「もうちょっと画面キャプチャが多いとわかりやすいのに」とは思っていましたが、自分には書けないタイプの本です。

# そのフィードバックをもとに、画面キャプチャ主体の本「AppleScript+XcodeでつくるMacアプリ Xcode 14対応」を出したわけで

冗談半分でShaneに「日本語訳版を出してもいい?」と聞いてみたところ、快諾。えっ? いいの?!(^ー^;;;

いまXcodeで作っているAppleScriptのプロジェクトがあるのですが、こうした資料が充実していないと本当に辛いので、日本語版を出せることは個人的に素直に嬉しいです。

ただ、本書がOS X 10.8ぐらいの時代に書かれたという時代背景があり、そのあたりの状況認識を大幅に変更する必要はあると思います。当時はShaneがAppleScriptObjC Explorerを作っていたので、そうしたツールの存在を前提として書かれた部分もあるので、macOS 15時代+Xcode 16環境に合わせてアップデートする必要もあることでしょう。

Posted in AppleScript Application on Xcode Books news | Tagged 15.0savvy Xcode | Leave a comment

Post navigation

  • Older posts

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

Google Search

Popular posts

  • macOS 26, Tahoe
  • Script Debuggerの開発と販売が2025年に終了
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • NSObjectのクラス名を取得 v2.1
  • 2024年に書いた価値あるAppleScript
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行
  • AppleScript Dropletのバグっぽい動作が「復活」(macOS 15.5β)
  • Script Debuggerがフリーダウンロードで提供されることに
  • macOS 26, 15.5でShortcuts.app「AppleScriptを実行」アクションのバグが修正される
  • 指定フォルダ以下の画像のMD5チェックサムを求めて、重複しているものをピックアップ
  • 執筆中:AppleScript最新リファレンスver2.8対応(macOS 15対応アップデート)
  • Dock Menu
  • macOS 15.5beta5(24F74)でaliasのキャスティングバグが修正された???
  • Claris FileMaker Pro 2025(v22)がリリースされた
  • Applicationのactivateを記録する v2
  • 複数の重複検出ルーチンを順次速度計測
  • Numbersで選択範囲のdateの年を+1する
  • シンプルな文字置換
  • Appleに買収されたPixelmator ProがAppleとしての初アップデート
  • AS書類を書式で分解して再構成

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (165) 26.0savvy (34) CotEditor (67) Finder (53) Keynote (120) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (56) Safari (44) Script Editor (27) 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
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • 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
  • Newt On Project
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • 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
  • Scripting Additions
  • 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)
  • 未分類

アーカイブ

  • 2026年1月
  • 2025年12月
  • 2025年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 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