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

タグ: 14.0savvy

Cocoa-AppleScript Appletランタイムが動かない?

Posted on 9月 22, 2023 by Takaaki Naganoya

AppleScriptObjC(Cocoa Scripting)の実行環境は大きく分けて3つあります。

1つ目は、Script EditorもしくはScript Debugger上で動かすもの、あるいはアプレットの書き出しを行なったもの。実行環境IDを取得すると、AppletとDropletは別のIDが返ってきますが、だいたい同じものです。

2つ目は、Xcode上で作成するCocoaアプリケーションです。AppleScriptでアプリを作成して、Mac App Store上で販売することもできます。かなり多くのCocoaの機能を利用できます。

3つ目が、これら2つの中間的な機能を持つCocoa AppleScript Appletです。Script Editorのファイル>テンプレートから新規作成>Cocoa-AppleScript Applet.appを実行すると編集可能になります。

Cocoa-AppleScript Appletは、Script Editor上のCocoa Scriptと同様の機能が使える上に、アプリケーション由来のイベント(起動中であるとか、起動終了したとか)を利用できます。

Cocoa-AppleScript Appletが登場したOS X 10.7時代、Xcode上のようにInterface Builderで手軽にGUIが作成できるわけでもなく、Script Editor上で普通に動かすScriptのようにログを表示してデバッグができるわけでもなく、何か明確な用例が存在するわけでもないため「これでどないせーっちゅーんじゃ?」と、とても手を出せないものと感じました。自分はこれを明確な「失敗作」として評価していました。この環境を嬉々として使っている人物といえば、edama2氏ぐらいのものです。

その後、macOS 10.10以降で通常のScript Editor上で動かすAppleScriptでもCocoaの機能が利用できるようになったため、Cocoa Scriptingのノウハウが蓄積され、「より高機能なCocoa Scripting環境」としてCocoa-AppleScript Appletが再評価されるようになりました。

Script Editor上で記述するCocoa Scriptで機能的に不十分だと感じるようになる場面で、Xcodeを使ってフル機能のアプリケーションを作るほどでもない、という状況において、Cocoa-AppleScript Appletという第3の選択肢が存在していることの意義はあったのです(使っているユーザーがめちゃくちゃ少ないとは思いますが)。

そして、ごくたまに様子を見るぐらいだったCocoa-AppleScript Applet環境ですが、最近(macOS 13.x上で)動かないという声が寄せられるようになりました。自分も動かないことを確認しています。テンプレートから1行も追加していない状態でも動かないので、これは明らかにApple側のミスでしょう。

バグレポートすれば直してもらえるのかもしれませんが、こうした情報が共有されるとか、Appleがドキュメントを出すようにしないと、いつも不手際をこっそり誤魔化すだけで「給料をもらって毎日バグを作るAppleエンジニア」「Appleのエンジニアは製品を作らない。バグを作る」といった批判をかわせない状態になることでしょう。

これは、年表を頻繁に作る立場の人間からいえば、Mac OS X 10.3で「is in」演算子が動作しなかったのと同じぐらいの大規模なバグに見えます。

本件、macOS 14RC上でも同様に発生しています。おおかた、「証明書の期限が切れている」といったたぐいのトラブルだと思っています。

Posted in Bug Cocoa-AppleScript Applet | Tagged 13.0savvy 14.0savvy | 2 Comments

Keynote/Pages/Numbers v13.2がリリースされる

Posted on 9月 22, 2023 by Takaaki Naganoya

iWork……という言葉は最近はあまり使われないようなので、Keynote、Pages、Numbersと呼びますが……これらのアップデート版v13.2が公開されました。AppleScript用語辞書の修正、追加はありません(作成できるグラフ形式が増えているのですが、ASから作成できるようにはなっていません)。

メジャーアップデートのv14.0などではないので、本バージョンは堅実で小刻みな機能アップデート版といえるでしょう。

3Dオブジェクトを格納するUSDZファイルをデータとして挿入できたりアニメーション表示(Keynote)できたり、新しいテーマが追加されたり、その他SVG画像を素材として利用できるようになったもようです。

USDZ形式のファイルを扱えるのは、いまのところ手元のアプリケーションではXcodeとPreview.appのみ。

SVGについては、いろいろ増えてきています。

こうした各種書類形式をキーにして、さまざまなアプリケーションを連携させられるという情報を提供する件をAppleのWWDRに提案したことがありましたが、どこのチームも興味を持たなかったとのこと。

USDZ形式データについては、数年前からこの形式データの利用を広めたいという「意図」が見えたので、いろいろ情報収集はすすめてきました。iWork Appsでサポートするということで、1段階利用が広がったというところですが、たとえばKeynoteで3Dを前提としたアニメーションやトランジッションが実装される、という機能が整備されるまでは単なる素材が1つ増えたぐらいでしょう。

Keynoteに3Dトランジッションや3Dアニメーションを追加するぐらいのことは、とっくの昔から検討されていたと思われますが、おそらく実装してみると「思ったよりも効果的ではない」という結論になったのでしょう。Vision ProのようなxRデバイスで閲覧するという「ブラウズ環境」を整備できたことにより、USDZ形式のデータを広くサポートする「価値」が生まれると踏んだのでしょう。

Vision Proが成功を収めるか、誰もが記憶から追い出したくなるような失敗として記録されるかは不明ですが、USDZ形式の利用が広くサポートされれば、それは多くの人々に役立つものとなることでしょう。

Posted in news | Tagged 12.0savvy 13.0savvy 14.0savvy Keynote Numbers Pages | Leave a comment

macOS 14RCはじめました

Posted on 9月 19, 2023 by Takaaki Naganoya

昨日の今日でナニではありますが、M1 Mac miniの起動SSDに別パーティション(Beta)を作って、macOS 14をインストールしました。

パーティション作成→BetaパーティションへのmacOS 13のインストール→BetaのmacOS 13で起動→macOS 14にアップデート

という手順を経る必要がありました。

電子書籍「AppleScript最新リファレンス v2.8対応」を出すにしても、いろいろと確認すべき事項があったため(macOS 14の処理系がバージョン2.9だったらシャレになりません)、細部の確認が行えていないと怖い部分がいろいろありました。

確認したこと

macOS 14のAppleScript処理系のバージョンは2.8のままで変更はありません(予想どおり)

「システム設定」(System Settings)のAppleScriptによるコントロール機能が回復。各PaneのIDを取得してrevealコマンドで表示できるようになった。ただし、すべてのPaneについてIDが割り振られているかは未確認。どうせAppleのことなので、IDが割り振られていないPaneであるとか、指定しても表示されないPaneの存在が予想される(1つありました→表示まで時間がかかるPaneだったもよう。すべてチェックして、表示できないIDのPaneはありませんでした)

全体的に実行速度が若干macOS 13よりも向上しているように見えますが、クリーンインストールしたためなのか、Rosetta 2をインストールしていない環境であるためなのかは不明

日本語環境でText To Speechのキャラクター「O-Ren」「Hattori」が追加されているものの、sayコマンドで指定できるようにはなっていない(音声キャラクタの使用ライセンスの問題なので、バグではない。ただし説明がまったくない点はあいかわらず不親切)

aliasからPOSIX pathに変換すると結果がおかしくなるといった「macOS初期β版によくある」不具合は見られなかった

macOS 12のβ版でかなり長い間修正されなかった(Release版では直った)「スクリプトメニューが表示されない」不具合は見られなかった(直前に発生した不具合を何回も繰り返すAppleあるある)

スクリプトエディタのコンテクストメニュー・スクリプトに、絵文字つきのファイル/フォルダのコンテンツを入れると、コンテクストメニューに「項目が重複して表示される」不具合が修正された(macOS 13βでも一時期直っていた時期もあったので再発する可能性あり。まったく油断できない)

要素数の多い配列(list)の生成、ランダムシャッフル、ソートなどCocoaの機能を用いた高速処理の速度については速度低下は見られず

700箇所の位置情報と8,000箇所の位置情報(鉄道駅、バス停留所)の距離計算を行うベンチマークで、macOS 13だと1分45秒程度だったものが、macOS 14では1分35秒程度。遅くなっているわけではなさそう

指定配列要素の順列組み合わせ計算(Permutation)の計算結果も若干速くなっている。誤差程度だが、遅くなるという傾向は見られなかった

「Mail.appでAppleScriptからメール生成+送信を行うと、メール1通あたりに生成されたプロセス2個がメモリ上から消去されず、メール作成すればするほどプロセスがたまってメモリが喰いつくされ、動作速度が壊滅的に遅くなる」不具合は未検証(Mail.app自体のバージョンアップは行われていない)。

macOS 12/13と初期Release版でNSDataDetectorによるデータ認識が日本語環境だけ問題を起こしていたバグについても検証が必要(何回も不具合を出している要チェックポイント。Apple自身がリリース前にチェックすべき)

→ ひととおりテキストからの情報抽出を行わせてみたところ、問題なく動いているようです。ただし、ここ数バージョンのmacOSは、リリース版で大幅に劣化する(未知のバグがたくさん発生)ので油断はできません

連絡先(Contacts)のAppleScript用語辞書のうち、プラグイン(廃止済み)のSuites「Address Book Rollover Suite」がhiddenになった(そのままでは表示されない。とくに問題はない)

ミュージックのAppleScript用語辞書のうち、playlistの「loved」属性が「favorited」に変更された。AppleEventコードなどはそのままで予約語が変更

Safari v17のAppleScript用語辞書で、隠し命令「show credit card settings」が追加された。なお、macOS 13.x上に提供されているSafari 17betaでも同様の変更が確認されている

Shortcuts Events添付のsdefがいろいろmacOS 14で書き換えられている(バージョン番号は変わらず)。これを見るのはなかなか面白い。

スクリプトエディタ上でテンプレートから作成できる「Cocoa-AppleScript Applet」が動作しない(macOS 13から発生している現象)

Posted in Bug | Tagged 14.0savvy | Leave a comment

当分、macOS 14へのアップデートを見送ります

Posted on 9月 18, 2023 by Takaaki Naganoya

目下、電子書籍「AppleScript最新リファレンスv2.8対応」の絶賛仕上げ中です。70%程度の完成度でしょうか。9月中に終わらせたいところですが、まだまだ油断できません。今日、ページを数えてみたら800ページを超えていました。せめて、900ページに達しないようにしたいところです。

この作業が終わるまでは、制作環境を変えるのは危険です。昨今のmacOSのリリース版の出来の悪さを思えば、PDF出力ができなくなったり、日本語入力に問題が生じるぐらいは当然のようにあり得る話でしょう。

そのため、この作業が終わるまではしばらくmacOS 14へのアップデートは見送ります。β版でCocoa Scriptingの機能呼び出しでまばらに機能低下が報告されていますが、1台のマシンで外付けドライブからの切り替え起動が行えない現行環境を考えると、速度差を計測するベンチマークを行うためには、ほぼ同スペックのマシンを複数台用意する必要が生じます。

これは、さすがにコストに見合わないため、できない話です。せめて、こうしたテストに協力してくれるところがあればよいのですが、なかなか価値を共有できるユニットが見当たりません。

Posted in Books news | Tagged 14.0savvy | 2 Comments

macOS 14, Sonoma 9月27日にリリース

Posted on 9月 14, 2023 by Takaaki Naganoya

先日のAppleEventでmacOS 14の9月27日に正式リリースという話が発表されました。

…..本気?(^ー^;;

Posted in news | Tagged 14.0savvy | Leave a comment

macOS 14, Sonoma βテスターからCocoa Scripting速度低下のレポート

Posted on 9月 12, 2023 by Takaaki Naganoya

外付けSSDに別バージョンのOSをインストールしておいて、β版の評価時には外付けSSDで起動する……という運用がmacOS 12あたりからできなくなってきています。そのため、業務用のMacとβテスティング用のMacを別に用意できず、macOS 14, Sonomaのβテストについては「完全無視」という今日このごろです。

書籍などで、β版OSでスクリーンショットを撮るわけにもいきませんので、当然な状況です。また、β版で気合いを入れてチェックしても、Release版でβ版以下のクオリティのOS(バグだらけ)になってしまうことが続いており、βテストの意義そのものを疑っています。

そんな中で、Sonomaのβテスターから漏れ伝わってくる「SonomaのCocoa Scriptingが遅い」という噂。

すべてのテスターから詳細な情報を聞けていないものの、何か特定の機能で10倍ぐらい速度が遅くなっている領域があるようです。よくある、Permutation(いくつかの要素の全パターンの組み合わせを計算出力)における速度低下とかいう「処理データ数がふえると遅くなる」という話ではなく、どうも遅くなる箇所が偏在しているようです。

いわく、

–InDesignの組版でCocoa Scriptingを利用しており、10倍ぐらい遅くなった
–GamePlayKit.frameworkの機能を呼び出して配列のシャッフルを行ったら10倍ぐらい遅くなった

などなど。

テスターが自分のマシンが何なのかを書かないので、どの程度深刻なのかが見えてきませんが、OSをアップデートしたら最新のマシン(の特定の処理)が10分の1の速度になったら嫌ですよね?

OS自体の機能はたいして機能アップしないのに、バグとか不具合ばかりが増えるというのは残念なことです。

macOS 13.x上でも日本語入力の速度の極端な低下が見られたりと、SoCの高パフォーマンス・コアと省エネ・コアの振り分けに失敗している疑惑があるものの、macOS 14βの問題がこれによって発生しているのかどうかは不明です。

macOS 10.15の際にもCocoa Scriptingの速度低下が見られ、macOS 12まで修正されませんでした(macOS 11で自分がレポートして修正)。

毎度毎度、目がさめるような不具合やトラブルを起こして、Release版でさらに巨大な不具合を作り込むとは、もはや職人芸としか言いようがありません。某社の組織の運営とか管理方法に大きな問題があるとしか思えません。

Posted in beta Bug news | Tagged 14.0savvy | Leave a comment

macOS 14, Sonoma

Posted on 6月 6, 2023 by Takaaki Naganoya

WWDC23でmacOS 14, Sonomaが発表されたとのことで、WWDCのビデオを見たかぎりではさほどmacOS 13から変わっていないように見えます。

とにかく、Beta段階では安定して動いていたものが、Release時に崩壊してしばらくまともに動かず、1年のうちでまともに安定して使える時期が短いとかいう冗談は勘弁してほしいところです。

日本語入力IMがメモリをバカ喰いして固まるとか、メールをScriptから操作すると表示用プロセスが2つずつ生成されて解放されなくてメモリが埋まってほぼ動かなくなるとか、Finder上の基礎的な操作が効かないとか、macOS 13は悪い冗談のオンパレード。

BetaよりもReleaseのほうが低品質というのでは、Beta Programの位置付けがよくわかりません。

Posted in news | Tagged 14.0savvy | Leave a comment

Post navigation

  • Newer posts

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

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 15, Sequoia
  • 指定のWordファイルをPDFに書き出す
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Numbersで選択範囲のセルの前後の空白を削除
  • メキシカンハットの描画
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AdobeがInDesign v19.4からPOSIX pathを採用
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • AppleScriptによる並列処理
  • Cocoa Scripting Course 続刊計画
  • macOS 14.xでScript Menuの実行速度が大幅に下がるバグ
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • Keynote/Pagesで選択中の表カラムの幅を均等割
  • Keynote、Pages、Numbers Ver.14.0が登場
  • デフォルトインストールされたフォント名を取得するAppleScript
  • macOS 15 リモートApple Eventsにバグ?
  • AppleScript入門① AppleScriptってなんだろう?
  • Numbersで最前面の書類のすべてのシート上の表の行数を合計
  • macOS 14で変更になったOSバージョン取得APIの返り値

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (194) 14.0savvy (147) 15.0savvy (130) CotEditor (66) Finder (51) iTunes (19) Keynote (117) 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 (55) 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
  • 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)
  • 未分類

アーカイブ

  • 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