macOS 10.15には上から下まで機能不全やバグが存在しており、とても常用に堪える仕上がりではありません。2019年10月に1年かけてのPublic β公開がはじまったという印象です(今回、Beta段階ではまともに動かず動作確認にすらなりませんでした)。
そんなmacOS 10.15に激烈なバグを発見。PDFView経由で発生したURLイベントが正しくデコードされないというバグです。httpやhttpsといったURL Eventでは発生しないものの、「applescript://」スキームのURLイベントで発生しています。
–> View movie of macOS 10.15 URL event bug
このため、Piyomaru Softwareが刊行している既存の電子ブックのScript LinkもmacOS 10.15環境では正しくスクリプトエディタに転送されません。現在作成中の新刊作成途中にmacOS 10.15のバグに直面。
▲macOS 10.15のPDFView上でapplescript://リンク入りのURLをクリックすると、内容が正しくデコードされずにスクリプトエディタに転送される
Skimで「applescript://」リンク入りのPDFをブラウズし、スクリプトリンクをクリックすると、Script Editorに正しく転送されません(URLデコード不良)。
macOS 10.15のバグなのかSkimのバグなのかを検証するために、わざわざPDFViewを貼り付けた最低限度のPDFビューワーアプリケーションを(AppleScriptで)作成し、PDFViewからのURLリンククリックに対してはSkimと同様の結果になる(=macOS 10.15側のバグ)であることを確認しています。
じゃあ、macOS 10.15のSafariでapplescript:// URL Link(本ブログ掲載のプログラムリスト末尾のリンク)はどうなのか? といえば、こちらは正しくSafari→デフォルトのScriptエディタ(スクリプトエディタとかScript Debuggerとか)に転送されます。問題はありません。Betaの時からさんざんクリックして確認していました。
なので、PDF中のapplescript://リンクの内容を正しくデコードするPDFリーダー「PiyoReader」を作ってみました。AppleがmacOS 10.15のこのバグを修正するのか(少なくとも10.16まで直らないと思います)不明ですが、これに対処するためのPDFリーダーです。
Mac App Storeに出す苦労を考えると、BOOTHあたりでオンライン販売するかといったところでしょうか(Piyomaru Software内で相談中)。
→ 急遽作ったので、売り物になるほどの仕上がりではなく(だいたい、1日で仕上げてもSkimを超える出来になりません)、フリー配布するしかないんじゃないの? というところです。
K-mura says:
MacOS 10.15.1 で下記のスクリプトがエラーになるのですが
tell application “Calendar”
uid of calendar 1 — もしくは
properties of calendar 1 — でエラーになります。
name of calendar 1 — などは大丈夫。
end tell
error “Calendarでエラーが起きました: AppleEventのハンドラで誤りが起きました。” number -10000
私だけ?セキュリティとプライバシーの設定などの問題でしょうか。
そのほかにもイベントの日時を変更しようとするとエラーになる場合があります。
テストのための単純なスクリプトでは問題ないことがあるのだけれど。
Takaaki Naganoya says:
Calendar.appは随分前から「壊れているし、まともに使えない」というのがScripterの共通認識です。
なので、選択されているカレンダーを取得するぐらいが関の山です。
自分の環境でも、uidもpropertyも取得できません。
Shane StanleyのCalendarLibを使ってEventKit.frameworkにアクセスするのがmacOS 10.10以降ではポピュラーなやり方になりつつあります。
K-mura says:
やはりだめなのですね。(色々と)
High Sierra では動いていたのだけど。
最もイベントを登録したり変更するのに5秒以上かかっていました。
CalendarLib は一応入れてあるのだけれど使っていなかったので勉強してみます。
ありがとうございました。
macOS 10.15のPDFViewのバグに対処した簡易PDFリーダー – AppleScriptの穴 says:
[…] macOS 10.15.xには、PDFView上でPDF閲覧中にクリックしたURLが「applescript://」プロトコルの場合に、正確にデコードされるべき内容がデコードされずにスクリプトエディタに転送されるというバ […]
URLエンコードずみ文字列チェック – AppleScriptの穴 says:
[…] いえば、macOS 10.15のPDFView上で発生した(”applescript://” schemeの)URL EventがデコードされずにOSデフォルト指定のスクリプトエディタに転送される、URLデコード不良バグが発生。これ […]
PDFViewでcustom URL protocolのリンクを含むPDFのリンクが途切れるバグが修正される – AppleScriptの穴 says:
[…] 2019/11/29 macOS 10.15でPDFView経由のURLイベントが正しくデコードされないバグ […]