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

カテゴリー: Bug

[超危険]macOS 12.3 beta3、errOSAInternalTableOverflow多発

Posted on 2月 16, 2022 by Takaaki Naganoya

今朝方来ていたmacOS 12.3 beta3アップデートをインストールしたら、(Script Debuggerで)AppleScript書類のでかいのをオープンしただけで「errOSAInternalTableOverflow」が表示されるようになりました。

スクリプトエディタでは、AppleScript書類のオープンすら(小さいものでないと)できない状況です。

過去最悪レベルの問題リリースです>macOS 12.3beta 3


▲今日の深夜に問題なく実行できていたScriptがいきなりオープンできなかったり実行できなくなったりする問題が発生


▲昨日までオープンできていたAppleScript書類をスクリプトエディタでオープンできなくなる事態が発生!!!

こういうアップデートは困ります、、、、Betaプログラムに参加されている方は、Beta 3のアップデートをインストールすることはやめておいたほうがいいと思います。

日常的に、Pagesの連続PDF出力+連結など大規模なScriptを動かしていたのが、急に今日になって動かなくなってしまいました。

こういうのは困るんですが?(ーー;;;

大きなScriptを動かすときには、部品ごとに分割して、別ファイルに分割して対処を行なってみていますが、、、過去にこのようなトラブルに遭遇したことはなかったので、純粋に腹が立つバグですわー

# どうしても動かないと困るAppleScriptについては、書き換えてScriptの機能をライブラリに分割して、バンドル内にライブラリを同梱する方向で対処しました

バグレポートはしましたが、「ざけんなコラ!!!!」と日本語で書きそうになりましたわー。

# さすがに直したらしい(謎情報)ですが、macOS 12.3 Beta 4自体がいつ出るのか不明。ものすごくScript周りがバギーで一刻も早く出てほしい。Appleの会議体制から考えると1週間以内に出ることはない

# macOS 12.3 beta 5で直りました(多分)

Posted in Bug | Tagged 12.0savvy | 1 Comment

PDFViewでcustom URL protocolのリンクを含むPDFのリンクが途切れるバグが修正される

Posted on 2月 9, 2022 by Takaaki Naganoya

PDFView上で、カスタムURLプロトコルのURLリンクを含むPDFのリンクをクリックした場合に、展開されたリンクデータが途中で途切れるバグ(だか仕様だか)がmacOS 12.3beta 1で修正された…ように見えます。

なんの話だか、詳細が説明されなければわからないことでしょう。以下に詳細を示します。

macOS標準装備の「プレビュー.app」では、カスタムURLプロトコル入りのPDFでリンクをクリックしても反応しません。macOS標準装備のPDFビューワでこうしたPDFのリンクを拾わない、というAppleのセキュリティ上のポリシーを通すことについては、それはご勝手にすればいいでしょう。

ただ、だからといってPDFViewというOSの部品レベルでそれを阻害するような機能を実装するというのは、「やりすぎ」であり、「起動しないコンピュータ、動作しないコンピュータを作れば100%セキュリティを守れます!」というどこかの責任者のバカみたいな主張をバカな現場がそのまま実装したというだけの話です。

プレビュー.appなんて「よくわからない人」が使うPDFビューワーであり、文化的な最低限のレベルを満たしている人類は普通にSkimを使います。このバグによってSkimにまで影響が出て、基本的人権ともいえるPDFブラウジングが阻害されたため、「直してくれ」と要求した次第です。

2019/11/29 macOS 10.15でPDFView経由のURLイベントが正しくデコードされないバグ

macOS 10.15でこのバグ(だか仕様変更だか)が発生してAppleにバグレポート。macOS 10.15はそういう勘違いで独善的な仕様変更のオンパレード。macOS 10.15は本当に腹のたつアップデートでした。

そして、待てど暮らせど直る気配もなく、急にレポートがきて「いまごろ、何の話だ?」と、驚いてしまったほどです。

本バグ(と、自分は位置付けている)レポートは、「applescript://」URLリンクを埋め込んだPDFが、macOS上でリンククリックすると、Script Editorにその内容がすべて転送されず、途中で途切れるようになったという現象についての抗議です。

勝手に仕様変更だかバグだかを作ったのはAppleであり、その修正までに2年かかったというバカみたいな話です。

  macOS 10.15:PDFViewのバグ発生を検出、Appleにサンプルコードつきでバグレポートとして報告する
  macOS 11:バグ継続
  macOS 12:Beta 3でバグが修正されたことが通告される

勝手に仕様変更だかバグを作ったのはAppleなのに、利用者がその不利益を被って、多大なる労力を要求されるってなんなんでしょう、、、

PDFViewでPDFを表示する程度のシンプルでおかわいらしい内容のテストプログラムを作ってあったので、Xcodeでビルドして実行してテストしてみました。まだ、すべてのPDFでチェックしたわけではありませんが、いまのところ「いい感じ」に見えます。

この、Apple純正のバグをApple様に直していただいて、そのことをApple様に感謝しなければいけないのでしょうか? なんというマッチポンプ。もしかして、組織のどこかの人たちが善意で直してくれたのかもしれませんが、自分には知る由もありません。

ちなみに、SkimについてはmacOS 12でカスタムURLプロトコルリンクのPDFを問題なく処理できることを確認しています。

この調子で、PDFViewのcurrentPageがAppleScriptにまともにブリッジされていない件についても修正してくださるとありがたいのですが、どんなもんなんでしょうか。

Posted in Bug news | Tagged 12.0savvy PDFView | Leave a comment

macOS 12.3 Beta(21E5196i)、電話番号ピックアップできないバグが直る?

Posted on 1月 28, 2022 by Takaaki Naganoya

macOS 12.3 Beta(21E5196i)が配信され、M1 Mac mini上で実験してみたところ、macOS 12でバグが出ていた「自然言語テキストからNSDataDetectorで電話番号を抽出しようとすると何も出てこない」件(日本語環境限定)が修正されているように見えます。

Thanks Shane!

AppleScript名:与えられたテキストから電話番号を抽出 v2
— Created 2015-08-21 by Shane Stanley
— Modified 2015-08-21 by Takaaki Naganoya
— Modified 2015-08-22 by Shane Stanley
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set theString to "長野谷隆昌
(Takaaki Naganoya)
maro@piyocast.com
http://piyocast.com/as
2015年8月21日〜23日
080-1111-2222
030-1234-5678
東京都練馬区中村橋1-2-3
"

set theDates to (extractPhoneNumberFromNaturalText(theString))
–>  {​​​​​"080-1111-2222"​​​}–macOS 10.12 or other version
–> {"080-1111-2222", "030-1234-5678"}–macOS 13.6 with Intel MacBook Air
–> {"080-1111-2222", "030-1234-5678"}–macOS 14.6 with Intel MacBook Pro
–> {"080-1111-2222", "030-1234-5678"}–macOS 15.7 with Intel MacBook Pro
–> {} –macOS 12 beta 6 with M1 Mac mini
–> {"080-1111-2222", "030-1234-5678"}–macOS 12.3beta1 with M1 Mac mini

on extractPhoneNumberFromNaturalText(aString)
  set anNSString to current application’s NSString’s stringWithString:aString
  
  
set {theDetector, theError} to current application’s NSDataDetector’s dataDetectorWithTypes:(current application’s NSTextCheckingTypePhoneNumber) |error|:(reference)
  
set theMatches to theDetector’s matchesInString:anNSString options:0 range:{0, anNSString’s |length|()}
  
set theResults to theMatches’s valueForKey:"phoneNumber"
  
  
return theResults as list
end extractPhoneNumberFromNaturalText

★Click Here to Open This Script 

Posted in Bug | Tagged 12.0savvy NSDataDetector NSString | Leave a comment

Skim v1.6.8でScripting機能のバグを修正

Posted on 1月 18, 2022 by Takaaki Naganoya

フリーのPDFビューワー「Skim」の最新版v1.6.8で、前バージョンで発生していたAppleScriptのサポート機能のバグが修正されました。どちらかといえば、OS側の不具合のような雰囲気も漂っています。

Posted in Bug | Tagged macOS 12 Skim | Leave a comment

SkimのAppleScriptサポート機能にバグ

Posted on 12月 28, 2021 by Takaaki Naganoya

フリーのPDFビューワー「Skim」の最新版v1.6.7で、AppleScriptのサポート機能にバグが発生していることが明らかになりました。

スクリプトエディタでtell app “Skim”….end tellと入力して構文確認しただけで「内部の表があふれました」というワーニングが出てしまいます。

Script Debuggerでも同様です。

Script MenuからAppleScriptを呼び出して実行する分にはエラーが出ないので、今日もSkim経由でオープン中のJPEG画像を書き出したりしていたのですが、、、、

12/15の時点で、SkimのForum上でこの問題について話題になり、対策ビルドなども出ているようなので、年明けほどなくして解決されることを期待しています。

AppleのKeynote/Pages/Numbersだとあからさまな不具合であっても修正に半年ぐらいかかるので、このあたりはオープンソースのソフトウェアのほうが安心感があります。

Posted in Bug | Tagged 11.0savvy 12.0savvy Skim | 3 Comments

Xcode 13.2 〜 13.3は有害(正式版でもまだ有害)

Posted on 12月 17, 2021 by Takaaki Naganoya

Xcode 13.2がリリースされ、賛否両論いろいろ意見が出されていますが、自分にとっては有害であり、Betaの段階でバグレポートを出していましたが、修正されずにリリースされました。

Interface Builder上でApp Delegateを選択してもScriptコード内のイベントハンドラが認識されないため、インタフェースのアクションとコードのひもづけが行えません。


▲左:Xcode 9.xで作ったAppleScriptのプロジェクトをXcode 13.2でオープンしたもの、右:Xcode 13.2上でゼロから作ったAppleScriptのプロジェクト XIB上でAppDelegateのイベントハンドラを追加できず、GUI部品の操作に対応するハンドラのひもづけができない

もはや「またか?」というぐらい何度も発生しているバグであり、責任者に知性が欠如しているのではという疑いを持たずにはいられません。

# Xcode 13.3が正式リリースされましたが、相変わらず使えません

Posted in Bug | Tagged 12.0savvy Xcode | Leave a comment

macOS 12 beta9が登場

Posted on 10月 7, 2021 by Takaaki Naganoya

macOS 12 beta9が出てきています。もう、リリース間近というより大した問題がなければbeta 8でリリースしていたのでしょう。

AppleScript系では、Cocoa Scriptingの処理速度の低下は観測されていません。Beta 5以降はほぼ誤差の範囲内の変化しかありません。これはいいことです。

あいかわらず、日本語環境でNSDataDetectorで自然言語テキストからの電話番号の抽出に失敗します。これは、少し不幸なことですが、修正されることを期待したいところです。

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

macOS 12 beta7が登場

Posted on 9月 22, 2021 by Takaaki Naganoya

ここ最近のmacOSのβ版の出来・不出来

macOS 12 beta 7が出てきました。macOSのリリースはiOS/iPadOSの後にリリースされるのが通例(というか、技術的にそうしないと無理)で、β番号から見て割とβ版の末期にあるものと推測されます。

例年だと、8月の終わりのmacOSの出来でRelease時の品質が推し図れています(農作物みたいだ)。

macOS 10.13:Beta中はとても好感触 → Release版で大事故(前代未聞の大惨事。macOS Vistaと呼ばれる)
macOS 10.14:Beta中、バグが多くて使う気になれず → 最終版(macOS 10.14.6)まで様子見
macOS 10.15:Beta中、8月末に大事故。開発者がそろって「こいつは新たなmacOS 10.13だ」として見放す。8月中にmacOS Vista 2のあだ名が確定
macOS 11:Beta中の印象は好感触(Intel Mac)。だが、Release後にM1 Macハードウェアがらみの未知の問題点が多数報告される

というのが、ここ最近のmacOSのリリースの流れです。

macOS 10.13、10.15と「奇数番号は地雷」という状態で、この命名法則でいえば「10.17」にあたるmacOS 12は、不吉な予感を抱かせるものでした。

Cocoa ScriptingなどAppleScript系の処理速度の回復と向上

自分はmacOS 10.15を全力で見送り、macOS 10.14.6をメイン環境にすえました。通例、新たなmacOSがリリースされるとScript環境まわりの評価記事を書きますが、10.15ははじめて評価記事をボイコットしたほどひどいものでした。

「10.15がひどい」という中には、「①本当にバグや不具合のもの」「②勝手に仕様変更して周知しなかったもの」「③OS全体のセキュリティ強化にともない、結果として機能不全になったもの」など多々あります。

その後、M1 Mac mini導入にともないmacOS 11に環境を移しました。M1 Mac mini+macOS 11は、世間の評判もよく、安住の地となるはずでした。

ところが! M1 Mac miniを開封して1時間もたたずに血の気がひきます。Cocoa Scriptingを多用している現代のAppleScriptを走らせると、2012年のMacBook Pro Retina 2012よりも10倍ぐらい遅かったからです。

調べてみると、macOS 10.15の時代からCocoa呼び出しで大幅なスピード低下が発生しており、その延長線にあるmacOS 11も同様の現象が発生。

さらに、M1に搭載されたCPUコアのうち、高性能コアではなく省エネコア(Ice Storm)を使用してAppleScriptが実行されているようで、2011年のMacBook Airよりも数倍M1 Mac miniが遅い処理が出てくる状況でした。

そこで、Shane Stanleyと相談してAppleに詳細なレポートを提出し、「おまえんとこの最新鋭機種は10年前のへっぽこマシンよりはるかに遅いぞ、どうしてくれる?」という報告をしたわけです。もちろん、M1 Mac mini購入後のアンケートでは「10年前のIntel Macの10倍も遅い。不満」と答えています。

運よく、レポートが功を奏してM1がらみの速度低下問題はmacOS 12beta 5で解決。同時にmacOS 10.15から発生していたCocoa呼び出しの速度低下問題も解決(たぶん)。このことで、Intel Macでも、速度低下発生前のmacOS 10.14より高速な処理が行えるようになったほどでした(もちろん、macOS 10.15や11よりも高速です)。

この問題の検証のため、手元のアップデート可能なMacは2台ともmacOS 12に上げてしまい、先日リリースされたmacOS 11.6においてパフォーマンス低下問題がフィードバックされたのかどうかは検証できません。

高速だが小バグが直っていないmacOS 12beta7

さて、macOS 12beta7ですが、ベンチマークを実施したところBeta 5、6と同様にCocoa Scriptingの速度は維持されています。Beta5よりも速くなった処理がある一方で、若干速度低下した項目も見られますが、誤差の範囲内でしょう。


▲同一ハードウェアでOSのアップデートにともない、速度低下が解消され、高速化


▲約700箇所の位置情報と8,000箇所の駅の位置情報との間での最短距離計算。macOS 11+M1 Macでは1時間かかって気を失いかけたが、いまではiMac Proより2.5倍高速の異次元の速さを実現。これなら、ScripterにもApple Silicon Macをおすすめできます

一方で、日本語環境でのみ発生しているNSStringからのData Detectorによる電話番号ピックアップができないバグは直っていません。GUI部品のお守りよりもデータ処理を行うことが多いAppleScript界隈としては「無視できない問題」です。

Release版では直ってほしいですよね>誰となく

また、macOS 11で確認された特定ハードウェア(Mac Pro 2019)で関数計算を間違えるバグについては、当該機種を所有していないため、自分には追跡調査は行えていません。

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

macOS 12 beta6、Cocoa Scriptingの速度低下なし

Posted on 8月 31, 2021 by Takaaki Naganoya

macOS 12 beta6が出てきました。beta 5でM1 Mac上でのAppleScript実行速度低下が大幅に改善され、そのアップデート版であるbeta 6で「先祖返り」していないかを確認。beta 5と同程度か、少し高速になっている処理もあるようです(気持ち速いぐらい)。

でも油断はできません。macOS史上最悪最低のmacOS 10.13のときには、Release前には何も問題がなく順調にバグがつぶされてきたのに、Release版はBeta以下という出来でした。

あのmacOS 10.13の開発プロジェクトを思えば、Release版を見るまで結論は出せません。

追記1:
Beta 6に、NSDataDetector経由で電話番号を取得できないというバグを見つけました(レポート済み)。プログラミング言語ではなく、ユーザー環境の設定言語に依存して発生するようです。いまのところ、日本語環境で問題が発生し、英語環境では発生していません。

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

macOS 12 beta5でAppleScript処理系の大幅なスピードアップ。M1もIntelも

Posted on 8月 18, 2021 by Takaaki Naganoya

以前から本Blogでは、M1 Mac+macOS 11上でAppleScriptの実行、とくにCocoaの機能呼び出しが10〜77倍遅くなるという件についてレポートしてきました。

–> macOS 11, AppleScriptをFirestormではなくIcestormで実行か?!

CPUの乗り換え直後ということもあり、淡々とAppleにバグレポートしつつ、周囲には「まだM1に手を出すべきではない」と話していたものが、最新のmacOS 12 beta 5においてどの程度変わったのでしょうか?

2つのスピード低下問題

AppleScriptのコミュニティ的には「macOS 10.15をインストールするとCocoa Scriptingが遅くなる問題」(Intel Mac)があり、そのうえに「M1でAppleScriptの実行+Cocoa Scriptingが遅くなる問題」の2つの問題を抱えていました。

macOS 10.15以降の速度低下問題は、自分がmacOS 10.15を「ダメ環境」としてパスし、M1 Macの導入にともないOSバージョンを1つ飛ばしてmacOS 11に移行したときにはじめて認識しました。

Mac App Storeに出している、AppleScriptで組んだアプリケーションの数々が、さぞやM1 Mac上で処理速度が向上して、より快適に使えるに違いない……と、ルンルンで箱を開けてテストをしだして、「遅い!! MacBook Pro Retina 2012より遅いとはどういうこと?!」と、落胆の表情に変わるまで1日も必要ありませんでした。

とくに期待していた時間のかかる大規模データ処理が、MacBook Pro Retina 2012の10倍以上遅いという結果に言葉を失い、Appleにこれを「バグレポート」としてレポートすることになったのです。

メール.appの起動やSafariの操作など、日常的な操作の範囲では噂どおりの処理性能を発揮していたのに、AppleScriptの処理だけ遅いというのは、これはもう明らかに「異常事態」です。

ベンチマーク比較対象

身の回りにあるMacをかき集めて調べてみました。現用機でこのベンチマークに参加していないのは奥方様のMacBook Air 2015ぐらいです。

今回、青い色で指し示しているmacOS 12 beta 5環境が注目点です。M1 Mac miniおよびIntel Mac mini 2014にmacOS 12 beta 5をインストールし、速度の変化を検証しました。

結論から言うと、macOS 12 beta 5ではM1 MacでmacOS 11.xの30倍、Intel Macで10倍ぐらいCocoa Scriptingの実行が高速になっています。

これは、冒頭で説明した(1)macOS 10.15で発生した何らかの内部的なミス (2)M1 Mac上でAppleScriptの処理系が明らかにIcestorm(電力効率のよいローパワーCPUコア)で処理されてしまっていたこと の2つの問題が解消されたため、と推測しています。

これらの組み合わせによって、Intel MacでもM1 Macでも処理速度が大幅に向上した、という「現象」のみが確認できているだけです。

ベンチマーク1:Permutation

DNAの塩基配列「T」「C」「G」「A」のすべての順列組み合わせパターンを計算する計算(Permutation)です。桁数が多くなるとデータ量と計算量が膨大に増えるのと、Cocoa Scripting導入の有用性を示す演算内容(Vanilla AppleScriptより桁違いに高速)でもあるため、4〜8桁のPermutationを採用しました。以下、グラフ内の横軸の単位はすべて「秒」です。

Machine 4が前の開発環境(MacBook Pro Retina 2012)で、これを基準に「速い」「遅い」という比較を行っています。

アップデート前のM1 Mac mini+macOS 11の環境はMachine 4よりもはるかに遅くて「使っていられない」状態でしたが、アップデート後の環境(Machine 1’)ではMachine 4の2倍強、アップデート前からは平均で27倍の速度向上を実現。

Intel MacでもmacOS 11から12への移行で11〜21倍程度、高速化しています。

ベンチマーク2:乱数配列の生成とソーティング

M1+macOS 11の環境では「要素数の多い配列の操作」と「乱数の生成」(AppleScriptのrandom number)がとくに遅いという傾向が出ていたので、10万要素、20万要素、30万要素の配列でベンチマークを行いました。ただし、本ベンチマークでは乱数の生成を最速の方法で計算しているため、M1 Macで1.3倍速、Intel Macでも同程度の速度向上になっています。とくに、要素数が少ないほど速度向上の割合が増えており、これは歓迎できる傾向です。

ベンチマーク3:AppleScriptのrandom number関数を用いた乱数配列の生成とソーティング

AppleScriptのrandom number関数を用いて1〜99999999の範囲の乱数を1万回生成して配列に追加するベンチマークです。初回実施時にはこれでM1 Mac mini+macOS 11の環境が、MacBook Air 2011+macOS 10.13の5倍の処理時間がかかるという衝撃の数値が出た内容です。

macOS 11から12 beta 5へのアップデートに伴い、M1 Macで30倍、Intel Macでも12倍速度が向上していることを確認しています。

macOS 11の正式版がmacOS 12?

どこまでも「次世代Apple Silicon Mac用OSのβ版」という印象が強かったmacOS 11から、AppleScript+Cocoa呼び出しについては機能の改善が行われ、macOS 10.15で失った処理速度をIntel Macでも回復できているように見えます。

自分が大規模データ処理+演算速度の目安に用いている、「約700箇所の日本全国のゲームセンターについて、全国の鉄道駅(約8,000箇所)との距離を求め最短のものを最寄駅とし、それぞれ最寄駅までの距離が短い順にソートする」計算の結果を見てみると、

MacBook Pro Retina 2012:7分13秒
iMac Pro:4分17秒
M1 Mac mini:1分42秒

と、iMac Proを大きく上回る結果を叩き出しています。あまりに速いので、計算内容が間違っているのではないか? とか、計算結果が出力されないのではないか?? などと疑問に思って何度も調べてみましたが、きちんと計算されています。間違いなく、これまでに遭遇したMacの中で最も高速にAppleScriptを実行する環境といえます。この速さは、異次元のレベルです(力説)。

正直なところ、Cocoa Scripting Course本掲載のサンプルAppleScriptをM1 Mac mini+macOS 11で動かしたときには「イヤな汗」が出まくりました。高速なCocoa Scriptingだぜキャッホー(奇声)! などとノリノリで書いていたものが、

「残念なお知らせです。いま、Vanilla ScriptingのソートルーチンにCocoa Scriptingのソートルーチンが抜かされました」

などと書けるでしょうか? いや、書けるわけがない(反語)。本件は、Cocoa Scripting本の続刊を書く手が止まってしまうぐらいの(よくない方向への)インパクトがありました。

かくして、そこから詳細な調査や問題傾向の炙り出しなど、表沙汰にできない調査と資料作成がはじまったわけで、一応こういう形で(いい方向に)問題が解決されて本当によかったデス。これで解決されなかったら、海外のYouTuberにチクリまくってセンセーショナルな方向で炎上させるしかない、と割と本気で思っていたほどでした。だいたい、自分にしかレポートできないのに、時間と何かを失って何も得られない膨大な作業。Appleが自分でチェックする能力がない一方で、この無償奉仕労働を強いられるのが納得できません。

macOS 12については期待が持てる内容ですが、これがいまだ現用環境であるmacOS 10.15やmacOS 11へのフィードバックが可能な内容なのか、あるいはmacOS 12の登場を待たなくてはならないのかは現時点ではわかりません。

ただ、ここ数年というもの(2020年は珍しい例外)、このぐらいの時期(8月後半)になると「またAppleの現場が無茶な仕様追加を行って開発プロジェクトが崩壊した」「Release版のひどさがいまから感じられるので、アップデート禁止」といった話題しか出ていませんでした。それが、「macOS 12には期待できる」という話ができるのは、喜ばしいことでしょう。

# Beta版では素晴らしかったのに、Release版で別物が壊滅的な出来でリリースされた「macOS 10.13」という悪しき前例があるので、Betaがよくても安心できない今日このごろです。「どうして10.13がああなったのか」という説明は一切ないままなので、いまひとつ信頼できません

Mac App Storeに出している各種アプリケーション(すべてAppleScriptで記述)の動作が、macOS 12 beta5上であればひじょうに高速です。

UNI detector+macOS 12 beta5 DEMO

Watch kamenoko_M1+macOS 11 DEMO

Watch Kamenoko_M1_macOS 12 beta5 DEMO

FileMaker Proに組み込んで大規模なCocoaの機能を呼び出しているAppleScriptの動作も快適になっています。

Watch M1+macOS11 MkMapView Demo

Watch M1+macOS12 beta5 MkMapView Demo

CotEditorと組み合わせて動かしている「CotEditor PowerPack v3」のAppleScriptも、macOS 12beta 5上できわめて高速に動く様子がわかります。

Watch CotEditor_M1+macOS11 DEMO

Watch CotEditor_M1+macOS12 beta5 DEMO

Numbers.appで選択中の範囲のセルをシャッフルするAppleScriptをmacOS 12beta5で動かしたもので、左がIntel Mac mini 2014、右がM1 Mac mini 2020です。
numbers_selection_shuffle_intel_M1_12beta5

これはAppleScriptに関する処理だけにとどまるものではないようです。Terminal.app上で動作させる各種CLI系のプログラムの動作時のCPU Coreの割り当ても変化しており、よりパフォーマンスを発揮する方向に「味付け」が変化しているように見えます。

ただ、CLIベースのプログラムについてまとまったベンチマークを行なっているわけではないため、実際に動作させている数少ない膨大な処理時間のかかるプログラム(PDF内の画像サイズ圧縮のために併用しているGhostScript)を見ている範囲で、アクティビティモニタ上のCPU各コアの動きが変わっているように見える、ということです。

Posted in Bug news | Tagged 11.0savvy 12.0savvy | Leave a comment

Stream DeckのKeynote操作プラグインがKeynoteの操作を妨害するメカニズム

Posted on 8月 7, 2021 by Takaaki Naganoya

KeynoteをGUI Scripting経由で操作したときに、Stream Deck制御ソフトウェアに「Keynote」プラグインが入った状態だと、異常が発生する件の続報です。

Stream Deckソフトウェアに「Keynote」操作プラグインをインストールすると、GUI Scriptingからの本物のKeynote.appにメニュー操作を要求しても「そんなものはない」と言われてしまうというのが、この問題の概要です。

elgatoに問い合わせ、Appleにバグレポートし、elgatoからは一向に返事も何も返ってこない(elgatoから返事をもらったことがない)のですが、Appleの担当者とやりとりしてこの奇怪現象の発生メカニズムが見えてきました。

Stream DeckのKeynote操作プラグインをインストールした状況でアクティビティモニタを調べると…

なんと、不可視のStream Deckプラグインのプロセスの名称が「Keynote」という名前になっていたのが原因だったようです。そこ、「Keynote_control」とか少しはひねった名前にしようよ、、、、>elgato

どれだけ複雑で悪辣な仕組みになっているのかと思っていたら、これだけ。

Appleの担当者から提案された対策コードはこんな感じで、実際に自分で動作確認しつつ、少しだけ手直ししてみました。これで、Stream DeckのKeynote操作用プラグインの不可視プロセスが「Keynote」なんて名前で実行されていても問題ありません。いやはや。

AppleScript名:Keynoteの各メニュータイトルをGUI Scriptingで取得する.scpt
tell application "System Events"
  set tProcList to every process whose name is "Keynote" and its background only is false
  
if tProcList = {} then return
  
  
tell (first process whose name is "Keynote" and background only is false) –ここ、変数に代入するとダメ!!
    tell menu bar 1
      set mList to title of every menu bar item
      
–> {"Apple", "Keynote", "ファイル", "編集", "挿入", "スライド", "フォーマット", "配置", "表示", "再生", "共有", "ウインドウ", "ヘルプ"}      
    end tell
  end tell
end tell

★Click Here to Open This Script 

Posted in Bug | Tagged Stream Deck | Leave a comment

macOS 11.5+Keynote 11.1でGUI Scriptingに障害?

Posted on 8月 1, 2021 by Takaaki Naganoya

GUI Scriptingを(メニューやキーボードショートカットについては)ラッピングして、ファイル名に「アプリケーション名@メニュー項目名>メニュー項目」などと書くだけで該当するメニュー項目の実行を行える「Piyo Menu Clicker v1.0 for Stream Deck」のリリース候補版を試していたら、macOS 11.5+Keynote 11.1でエラーが出まくりました。

# その後の調査により、よりによってStream Deckの制御ソフトウェア「Stream Deck.app」が起動しているとこの問題が発生することがわかりました。Stream Deck用の制御Scriptを使おうとしたらStream Deckのソフトウェア自体が実行を邪魔していたとは….

–> Browse Demo Movie

メニューバーのメニュー項目を指し示そうとして、

AppleScript名:Keynoteで新規書類を実行.scpt
activate application "Keynote"
tell application "System Events"
  tell process "Keynote"
    click menu item 1 of menu 1 of menu bar item 3 of menu bar 1
  end tell
end tell

★Click Here to Open This Script 

のようなお気軽な内容を試してみたところ、エラーに。メニューが存在していて、GUI側からマウスで普通に操作できるのですが……

他のPagesであるとかSafariなどで同様の記述を行なってもエラーになりません。Keynoteだけ問題が発生しているようです。

AppleScript名:Pagesで新規書類を作成.scpt
activate application "Pages"
tell application "System Events"
  tell process "Pages"
    click menu item 1 of menu 1 of menu bar item 3 of menu bar 1
  end tell
end tell

★Click Here to Open This Script 

AppleScript名:Safariで新規ウィンドウを表示.scpt
activate application "Safari"
tell application "System Events"
  tell process "Safari"
    click menu item 1 of menu 1 of menu bar item 3 of menu bar 1
  end tell
end tell

★Click Here to Open This Script 

Keynoteのmenu bar 1に対してmenu bar itemのtitle(メニュー項目のテキスト)を求めると、「Apple」しか返ってきません。

tell application "System Events"
  tell process "Keynote"
    tell menu bar 1
      set mList to title of every menu bar item
      
–> {"Apple"}      
    end tell
  end tell
end tell

★Click Here to Open This Script 

iOSアプリをM1 Mac上で起動した場合にこのような挙動になるのか調べてみても、ちゃんとiOSアプリもメニュー項目を取得できます。iOSアプリについては(苦労はするものの)AppleScriptから強引に操作することは可能なので、Keynoteよりは出来がいいといえます。

追記:
手元にあるバージョンの異なるmacOS環境でこの処理を試してみました。

 macOS 12.0beta+Keynote v11.1→異常
 macOS 11.5+Keynote v11.1→異常
 macOS 10.15.7+Keynote v11.1→正常
 macOS 10.14.6+Keynote v10.1→異常
 macOS 10.13.6+Keynote v9.1→正常

追記2:
異常が出ていた環境では、すべてStream Deckの制御ソフトウェアをインストールして起動していました。Stream Deck.appを終了させると問題が発生しないことを確認しました。Stream Deck Softwareのせいでした。

Stream Deckから各種ソフトウェアを操作するために作ったソフトウェアが、Stream Deckソフトウェアによって実行を阻害されているという事実の前に言葉もありません。

elgatoのWebフォームからレポートを送っていますが、elgatoにはいろいろ送っても、一度も返事をもらったことがないのでなんとも(日本代理店のソフトバンクC&Sとは確認のためにやりとりしていますが…)。

厳密に言うと、Stream Deckのオンラインストアから入手可能な「Keynote」プラグイン(Keynoteのプレゼン再生コントロールを行うelgato製のプラグイン)をインストールするとGUI ScriptingのKeynoteに対する実行が阻害されます。

–> Elgato Keynote plugin checking demo


▲まさか、elgato純正のプラグインがKeynoteへのGUI Scriptingの実行(メニューへのアクセス)を妨害しているとは思いませんでした。このプラグインはインストールしてはいけないものだと思います。機能もたいしたことはないし、害悪でしかありません。即刻Storeから撤去してほしいものです

Posted in Bug GUI Scripting | Tagged 11.0savvy Keynote Stream Deck | 5 Comments

NSString’s stringWithFormat:がクラッシュするバグが修正された

Posted on 7月 18, 2021 by Takaaki Naganoya

macOS 11で発生していた「NSString’s stringWithFormat:」をAppleScriptから呼び出すとクラッシュするというバグが、最新のmacOS 11.5BetaおよびmacOS 12.0Betaで修正されていることを確認しました。
→ macOS 11.5正式版がリリースされ、修正されていることを確認。逆にいえば、AppleScriptでCocoa Scriptingを用いて作ったプログラムは、macOS 11.0〜11.4の環境を動作条件から外す(動作要求条件を11.5以上にする)必要があるということです。

クラッシュしなくなりましたね。問題点について、気がついたらレポートして念押しして、修正内容を確認するという地道な作業の繰り返し、積み重ねで世界の平和が維持されているのでありました。


▲Uni Detector v1.2.1もNSString’s stringWithFormat:メソッドがクラッシュしなくなったおかげで、ちゃんとCPUアーキテクチャごとの構成比率グラフを実行してもアプリケーションごとクラッシュしなくなりました

Posted in Bug | Tagged 11.0savvy 12.0savvy NSString | Leave a comment

macOS 11で「withFormat」系のAPIが軒並みエラーに?

Posted on 7月 1, 2021 by Takaaki Naganoya

すでにAppleにフィードバックしている内容ではあるのですが(修正されることを祈るばかりです)、NSStringのstringWithFormat:メソッドがmacOS 11ではエラーになります。エラーというよりも、実行処理系そのものがクラッシュします(確定した事実)。

これと似た記法を行う「NSPredicate predicateWithFormat:」も同様にエラーになることが判明しました。こちらはクラッシュを発生させるほどではありませんが、これまでのOSバージョンで動作していた記法がエラーになっています(勘違い)。

どうもこれらの発生原因は同じような処理の箇所のように見えるため、macOS 11では「withFormat:」のAPIが、AppleScriptからScripting Bridge経由で呼び出すと一律にエラーになるものと想像しています。

→ テストに使用したScriptに間違いがあって、macOS 10.15以前では「たまたま動いていた」ということがわかりました。「NSPredicate predicateWithFormat:」自体でエラーが出ていたのではなく、その中に書いていたPredicate文に間違いがあったことがわかりました(確認・確定した事実)

Posted in Bug | Tagged 11.0savvy | Leave a comment

Music v1.1.1+macOS 11.4で怪奇現象

Posted on 5月 1, 2021 by Takaaki Naganoya

macOS 11.4betaとMusicで動作確認を行っていたところ、怪奇現象に直面しました。

アプリケーションの名称を取得するという、たいへんにおかわいらしいレベルのAppleScriptを書いて実行したところ、propertiesでまとめて属性値を取得したときと、個別にnameを取得したときで、処理結果が異なります。

propertiesでまとめて取得するとローカライズされたアプリケーション名「ミュージック」が返ってきて、nameで個別に取得すると「Music」が返ってきます。

下手クソなのか? おもいっきり下手くそが開発してるのか??? なんか、学生レベルの人間が担当しているように見えます。

Posted in Bug | Tagged 11.0savvy Music | Leave a comment

macOS 11.3、11.4betaの変更点?

Posted on 4月 29, 2021 by Takaaki Naganoya

printコマンドでプリンタを指定して出力をする機能がmacOS 10.14から10.15、11.xまですべて利かなかったのが、11.3だか11.4Betaで直っていますね。

# 11.3がリリースされた直後に11.4Betaが降ってきて、どちらで修正されたのか自分には判断できません。少なくとも11.4Beta上ではプリンタ指定ができています

黒歴史入り確実なこのバグ、とっとと「なかったこと」にしたかったのか、さすがにド派手な機能だったからなのか、直っていますね。もしかしたらこれまでにも、細かくバグを出していたのかもしれませんが、ソフトウェア的にプリンタ名を取得する手段が提供されてこなかったので、そのバグが「見えていない」だけだったのかもしれません。

AppleScript Engineering Teamも、AppleScript Studioのお守りから解放されたので、前向きな機能の実装にもパワーを割いてほしいところです。個人的には、Blocks構文が必要なCocoa APIを呼べるようにしてほしいですわ。

Posted in Bug | Tagged 11.0savvy | Leave a comment

iWork Appsがv11.0にアップデート、Keynoteの恥ずかしいバグが直る

Posted on 3月 24, 2021 by Takaaki Naganoya

iWork Apps(Keynote、Numbers、Pages)がバージョン11.0にアップデートされました。

3アプリ共通でAppleScriptから書類のパスワード設定確認、パスワード設定の機能が追加されています。

また、Keynote v10.3.5、v10.3.8とmovie書き出し時のCodec指定オプションに「h.264」とAppleScriptの処理系ではエラーになる記号を含む予約語が入っていたのですが、これがv11.0で「h264」と修正されました。

# 記号を含む予約語は禁止されています。「C++」とか(Fine Reader OCR Proに入っていますわー)

実際に動作確認してみないとまともに動くかどうかは不明ですが、用語辞書上では修正されています。報告して半年以内で修正されたので、修正も何もされないよりはマシでしょう。正直なところ、こんな程度の低いバグは事前にチェックして解消してほしいところではあります(Mac App Storeに一般開発者が出したらリジェクトされるレベル?)。

ちょいちょいAppleScriptの瑣末な機能を追加していただけるのはありがたいのですが、ページ内の選択中のオブジェクトへのアクセス(selected itemsとか)を用意してほしいところです。現状ではselectionで取れるのはページ(slide)単位だけです。

また、text itemの縦書き(Vertical)属性にもアクセス(Read/Write)できてほしい気がします。Keynote書類上にWord Cloudを作成するときにScriptから素直にオブジェクト回転ができずに困ります(GUI Scriptingで強引にやってるんですけれども)。


▲Keynote v11:h.264→h264と修正


▲Keynote v11:documentに「password protected」属性(Read Only)と、「set password」コマンドが追加

Keynote v11.0上で動作確認ずみ。ただし、いったんパスワードを設定した書類は、GUI側からしかパスワード解除できない点に注意。また、AppleScriptからのKeynote書類オープン時にパスワードを指定してオープンすることもできないので、当該書類のパスワードをKeychainに保存しないと書類オープン時のパスワード入力をパスできない。こちらはちゃんと(h.264と違って)動作確認したらしい。でも、油断はできない。それがAppleクオリティ。


▲Numbers v11:documentに「password protected」属性(Read Only)と、「set password」コマンドが追加


▲Pages v11:documentに「password protected」属性(Read Only)と、「set password」コマンドが追加


▲Pages v11:exportコマンドのexport optionsに「include comments」属性と、「include annotations」属性が追加

Posted in Bug Update | Tagged 10.15savvy 11.0savvy Keynote Numbers Pages | Leave a comment

Keynote 10.3.8がリリース、AppleScriptバグ修正なし

Posted on 12月 2, 2020 by Takaaki Naganoya

Keynote v10.3.8がリリースされました。対象OSはmacOS 10.15以降です。exportコマンドでCodec指定のEnum「h.264」はそのままで、AppleScriptの言語処理系では構文確認も実行もできないままです。「h.264」→「h264」に修正してほしいんですけどー。

Posted in Bug | Tagged 10.15savvy 11.0savvy Keynote | Leave a comment

Uni Detector v1.2.1をリリース

Posted on 11月 27, 2020 by Takaaki Naganoya

ケアレスミスで、「Scroll BarをWindowの枠外に配置してしまった」Uni Detector v1.2のリテイク版、v1.2.1をリリースしました。


▲MacBook Air 11インチを基準に、このマシンで最低限の操作が行えることを想定したUser Interface

バージョン1.2以降のUni DetectorのAppleScript用語辞書には、「check arch」のコマンドしか用意していませんが、Sandboxのセキュリティを乗り越えつつ必要な機能(ユーザーによる任意の指定フォルダ以下のアプリケーションのチェック)を実現することが目的です。

本来のScriptableなアプリケーションの意義を考えると、アプリケーションのチェック結果をリストで取得するべきですが、さすがに無償配布アプリケーションでそれはやりすぎなので、実装を控えています。

AppleScript名:アプリケーションのプロパティを取得.scpt
tell application "Uni Detector"
  properties
end tell
–> {frontmost:false, class:application, name:"Uni Detector", version:"1.2.1"}

★Click Here to Open This Script 

AppleScript名:指定アプリケーションをUni Detectorでチェック.scpt
use AppleScript version "2.7" –macOS 10.13 or later
use scripting additions
use framework "Foundation"

set anApp to choose file of type {"com.apple.application-bundle"} with prompt "Select target one App"

with timeout of 3600 seconds
  tell application "Uni Detector"
    set aRes to check arch anApp
  end tell
end timeout

★Click Here to Open This Script 

AppleScript名:指定フォルダ以下にあるアプリケーションすべてをUni Detectorでチェック.scpt
use AppleScript version "2.7" –macOS 10.13 or later
use scripting additions
use framework "Foundation"

set anApp to choose folder with prompt "Select target Folder"
set appList to getFileListWithSpotLight("kMDItemContentTypeTree", "*com.apple.application*", anApp) of me

with timeout of 3600 seconds
  tell application "Uni Detector"
    set aRes to check arch appList
  end tell
end timeout

on getFileListWithSpotLight(aMetaDataItem, aParam, startDir)
  
  
set sDirText to quoted form of POSIX path of startDir
  
set shellText to "mdfind ’" & aMetaDataItem & " == " & aParam & "’ -onlyin " & sDirText
  
try
    set aRes to do shell script shellText
  on error
    return {}
  end try
  
set pList to paragraphs of aRes
  
set aList to {}
  
repeat with i in pList
    set aPath to POSIX file i
    
set aPath to aPath as alias
    
set the end of aList to aPath
  end repeat
  
return aList
end getFileListWithSpotLight

★Click Here to Open This Script 

Posted in Bug PRODUCTS | Tagged 10.13savvy 10.14savvy 10.15savvy 11.0savvy Uni Detector | Leave a comment

macOS 11.0, Big Sur AppleScript関連の変更点

Posted on 11月 13, 2020 by Takaaki Naganoya

ついにmacOS 11.0, Big Surが正式リリースされました。これほどリリースが待ち遠しく、リリースを恐れていたOSバージョンもありません。機能的にはいいのに、見た目がアレな、ある意味「次世代のmacOSのPublic Beta」みたいな位置付けです。バージョン0.xから始まるのも初めてですし。1.0未満だと受け取っておきましょう。

→ その後、マイナーアップデート版が「11.1」であることが判明し、今後は「12.x」「13.x」とiOSライクなナンバリングが施されることがうかがわれます。

ハードウェア面では「M1搭載のファンレスのMacBook AirがCore i9のCPUを蹂躙する図」が展開されているなど絶好調ですが、ソフトウェア面ではいろいろ(見た目に)問題があります。

macOS 11.0.1について、AppleScript的には大きな違いはありません。大きな違いというのは、macOS 10.15からの大きな違いということです。10.15のあまりの不具合の多さに、β段階で「毒の沼」認定してメイン環境で利用することを放棄したため、個人的には11.0にすぐ移行したいところです(検証用のMac mini 2014しか対応ハードウェアがない問題)。

macOS 11.0搭載のAppleScriptはあいかわらずバージョン2.7。スクリプトエディタもビルドが少し変わったぐらいでバージョンは同じです。

スクリプトエディタのヘルプが、macOS 10.13、10.14、10.15と毎回更新されていましたが、今回はその余裕がなかったのか10.15, Catalinaのままです(あとでオンライン更新されるのかも???)。

毎回、OSのアップデートがあるたびに書き換えの必要があるScriptが出てきます。すべてのScriptが必要というわけではないはずですが、理由は大きく分けると以下のとおりです。

(1)Script専用補助アプリケーションやOS標準装備のアプリケーションの機能に変化が生じたり、名前が変わったり、統廃合されたりした
(2)AppleScriptの言語処理系、標準装備のScripting Additionsや標準命令に新たなバグが発生した
(3)OS自体の仕様変更、未知のバグが発生した
(4)GUI ScriptingでメニューなどのGUI部品を指定している箇所が、GUI修正などの理由によりそのままでは動かなくなった
(5)Cocoaの仕様変更により動かなくなったり修正が必要になった

スクリプトエディタのsdefの差分をチェックしてみたところ、macOS 10.14/10.15から変化はありません。つまり、今回は(1)(2)由来の発生の可能性は低いことが期待されます。(4)は当然そうなるものなので(些細な変更で発生するものなので)、必要最低限の箇所に使うべきものです。(5)は、Cocoa自体の仕様変更は割とひんぱんに発生しているので、なんともいえませんが、Cocoa自体に仕様変更やバグがなくてもScripting Bridge定義ファイルのバグや理不尽な変更(主にmacOS 10.13で発生した件。一切説明なし)によって影響を受ける可能性はあります。

カレンダー.appのバンドル内に同梱された大量のAppleScriptもβ時からそのままです。

(何か発見があったら追記)

アプレットのプロパティが保持されない件:理由=(3)

LateNight Software Blogに掲載された「BIG SUR: LOST PROPERTIES」をGoogle翻訳で読んでみました(ちょっと時間がないので)。

macOS 11.0, Big SurではスクリプトエディタでAppleScriptアプレット書き出しを行うと、

Arm 64/Intel 64のUniversal Binaryで書き出されます。

そして、アプレット書き出し時にCode Signが自動的に行われ(Run Localy)、Apple Developer IDを持っていなくても実行バイナリにCode Signされることになります(Notalizationはまた別)Code Signされるということは、アプレットの情報書き換えが保持されなくなるということであり、property文で設定値を維持しようとしても、実行ごとに内容がフラッシュされる(保持されない)ことになります。

このことはmacOS 10.10ごろから「そういう風になるんだろう」とわかっていたので、property文で設定値を保持するような書き方は一切してきませんでした。設定保存の必要があればUser Defaultsへ書き込み。

サードパーティのOSAX(Scripting Additions)が廃止されることはOS X 10.6の頃からわかっていましたし、OS X 10.10の頃からpropertyで値を保持してはいけないことはわかっていました。

AppleScript Studioランタイムがdeprecated扱いに:理由=(3)(5)

最新の「兆し」は、PowerPC→Intel→Apple Siliconと3世代にわたってメンテナンスされてきた「AppleScript Studioランタイム」(Automatorアクションでこれを使っているものがある)が、いよいよdeprecated扱いになったことです。

もともと、OS X 10.6のときにXcode上から開発用のテンプレートが削除されたためにAutomator Action作成時に積極的にAppleScript Studioの機能を使おうとも思わないのですが、これまで維持され続けてきたというわけです。あれだけの規模のものを、OSのGUI部品が変更され続けていく中メンテナンスしてARM対応まで行なって破棄するとは……自分がその仕事に携わっているならやり切れないものがありますが、既定路線ではあります。

今後、macOS上で実行できるAutomator ActionはAppleScriptObjCベースのものに一本化される、ということです。

ファイル共有のプロトコルがsmbに一本化:理由=(3)

この話が出てきたのが何回目だか覚えていませんが、ファイル共有のプロトコル「afp」が使えないようになりました。「smb」のみです。

LAN上の他のマシンやファイルサーバー、NASのボリウムをマウントする処理は割とありふれたものですが、そのためのサーバーの指定方式がsmbに一本化されたという「変化」があったということです。

ファイルサーバーのマウント処理を記述してあるScriptについては、macOS 11.x以降では書き換えの必要があります。

AppleScript書類(.scpt)アイコンがプレーンテキストを示すアイコンに変更:理由=(3)

なんなんでしょうね? これは、、、ミスなのか、意図があるのか。

System Eventsの機能変更:理由=(2)

これだけ機能が変わっていたらバージョン番号を変更してほしいところです。
→ 同じバージョン番号のまま大幅に機能が変更されたSystem Events

System Eventsの動作状態の変更:理由=(3)

OSが起動して他のGUIアプリケーションを操作可能な状態になって久しい状態だというのに、System Eventsに対する操作を行おうとしたら、プロセスが起動していないといったエラーが表示されました(macOS 11.3 beta3)。

launchコマンドでSystem Eventsの起動を明示的に行うことで、問題なく操作できましたが、System Eventsに明示的にlaunch操作を行わなくてはならなくなったようです。リリースノートに記載すべきレベルの変更が加わっているように感じます。

NSStringのstringWithFormat:を呼び出すとクラッシュ:理由=(3)

こんな基礎的な箇所でバグを作られるとウンザリします。また、使っている箇所が多過ぎてウンザリします。このバグのせいで、Mac App Storeで配布しているUni DetectorのCPUアーキテクチャ別のグラフ表示機能を実行すると(macOS 11.x台、11.5より前では)クラッシュしていました。
–> macOS 11.5で修正されました。macOS 11.0〜11.4の間、この機能がまともに動いていなかったわけです。AppleScriptのプログラムは、macOS 11に対しては最新のバージョン以外はサポートしないということになるでしょう。

AppleScript名:stringWithFormatのじっけん.scptd
—
–  Created by: Takaaki Naganoya
–  Created on: 2021/06/19
—
–  Copyright © 2021 Piyomaru Software, All Rights Reserved
–  本Scriptを実行すると、Intel Mac/Apple Silicon Macの両方でクラッシュします

use AppleScript version "2.4" — Yosemite (10.10) or later
use framework "Foundation"
use scripting additions

set dTemp to "chart.data = [{
\"label\": \"Apple Silicon\",
\"value\": %@,
\"color\": chart.colors.next()
}, {
\"label\": \"Intel 64 bit\",
\"value\": %@,
\"color\": chart.colors.next()
}, {
\"label\": \"Intel 32 bit\",
\"value\": %@,
\"color\": chart.colors.next()
}, {
\"label\": \"PowerPC 64 bit\",
\"value\": %@,
\"color\": chart.colors.next()
}, {
\"label\": \"PowerPC 32 bit\",
\"value\": %@,
\"color\": chart.colors.next()
}];"

set ppc32Count to 1
set ppc64Count to 2
set intel32Count to 3
set intel64Count to 4
set arm64Count to 5

set aDataStr to current application’s NSString’s stringWithFormat_(dTemp, arm64Count, intel64Count, intel32Count, ppc64Count, ppc32Count) as string

★Click Here to Open This Script 

NSString’s StringWithFormat:をmacOS 11で実行すると100%クラッシュ

Posted in Bug news | Tagged 11.0savvy | 2 Comments

Post navigation

  • Older posts
  • 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を採用
  • AppleScriptによる並列処理
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • Cocoa Scripting Course 続刊計画
  • macOS 14.xでScript Menuの実行速度が大幅に下がるバグ
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • macOS 15でも変化したText to Speech環境
  • Keynote/Pagesで選択中の表カラムの幅を均等割
  • デフォルトインストールされたフォント名を取得するAppleScript
  • macOS 15 リモートApple Eventsにバグ?
  • AppleScript入門① AppleScriptってなんだろう?
  • macOS 14で変更になったOSバージョン取得APIの返り値
  • Keynoteで2階層のスライドのタイトルをまとめてテキスト化

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 (132) 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年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