Menu

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

AppleScriptの穴

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

macOS 10.15beta関連

Posted on 8月 8, 2019 by Takaaki Naganoya

最初の10.15betaを使って3分で発覚した「aliasをposix pathに変換すると末尾がおかしくなるバグ」が修正されて一安心であるものの、Release時にさまざまなバグが再発する昨今のmacOS。

OSリリースの仕組みが会社組織的にうまく稼働していないことを感じます。とくに、CoreOSチーム。macOS 10.12でNSNotFoundの定義値を間違えたのは、間違いなくCoreOSチームなので。さらに、macOS 10.13の時にはBetaでうまく動いていたものがRelase時に動かなくなって言葉を失いました。

その後、macOS 10.13はOSごとまともに動いていなかったので(不具合に遭遇しない日はなかったので)、その反動でmacOS 10.14の自分的な評価がやたらといい今日このごろです。macOS 10.13みたいに「LAN上のファイル共有機能がいきなり効かなくなる」「日本語入力時に変換ウィンドウが消えなくなる」といった激しいバグには遭遇していません。ただ、10.13で壊滅的だったMail.appまわりのバグはいまだに信用できないので、10.14でもメールのやりとりはしないようにしています。
→ 最終バージョンの10.14.6の段階でメイン環境を移行し、目立った問題には遭遇していません

64bit Only環境の後ろ向きなメリット

各ビルドごとにmacOS 10.15 Betaのリリースノートがまとめて掲載されていますが、全体的に変更点が多くて驚かされます。

正直、macOS 10.15でこれだけOS内部のサービスやらフレームワークをいじくってしまうと、サードパーティ側がそれに追いつくのに相当の時間がかかるものと思われます。こんな大々的な変更を伴うアップデートを毎年行うべきものなのか疑問です。

ただ、64bitバイナリのみサポートするOSに移行するメリットが見えてきました。ユーザーにとって処理能力が上がるとかバッテリー寿命が伸びるとか、そうした目に見えやすいメリットではありません。

32bit版のバイナリを許容するということは、Apple側も32bit版バイナリとか32bitバイナリしか作れない古めの開発環境(互換開発環境とか?)に対応する必要があるわけで、32bitバイナリを検証し続けるほどのマンパワーがないんでしょうね。具体的にいえばCarbon系なんですが。

これまで、32bitバイナリ実行の検証に費やしていたパワーを、機能追加などに振り分けることにしたい、ということなのだと理解しました。ちなみに、2019年6月末でAppleのCarbon Dev MLが廃止になりました。MLのダウン時にはさんざん報告してもまともに対処しないくせに、こういう動きだけ素早いのはどうかと思います。

# AppleScriptの処理系はmacOS 10.7の時に64bit化されているため、64bit専用のOSになっても問題はありません。たまに間違った知識を吹聴している人がいるので念のため

BridgePlus.frameworkが(まだ)呼べない

実際に、Frameworkのバイナリ形式が変更になった(らしい)ので、macOS 10.15向けには野良Frameworkなどはビルドし直さないとダメなようです。いわく、32bitバイナリがあると文句を言われるのどうの。

目下、AppleScript関連でこの影響を最も受けているのがShane StanleyのBridgePlusライブラリ。内蔵のFrameworkをload frameworkコマンドで呼び出すと文句を言われます。

Shane次第ですが、おそらくこれはmacOS 10.15のリリースまでに解消されることでしょう(多分)。普通にXcode+10.14上でビルドしたしょーもないFrameworkが10.15上で動作(GundamのMS画像をCreateMLで学習させてZeonかEFSF所属かを判定させるFramework)しているので、それほど心配はしていません。

→ その後、Shaneからメールが来て「ちょっとこれ試してみて」と、xattrの削除を提案され、実際にやってみたらBridgePlusが動くようになりました。BridgePlusが動かなかったらけっこうきついので、一安心です

macOS 10.15 Beta5の変更点

macOS 10.15Beta5のRelease Notesに書かれている、重大な変更点が1つあります(処理系に手が加わっていないのにOS側のアップデートでいろいろ機能制限が出る今日このごろ)。

ネットワーク経由のAppleEvent実行、つまり現状ではLAN上のMac同士で、AppleScriptの常駐型のアプレットを起動して、ハンドラを一方から、あるいは相互に呼び合うことができます。いわゆるリモートAppleEventです。ここに手が加わりました。

この場合、呼ぶ側(Client)も呼ばれる側(Server)も、同じアカウントでログインしている必要がある、という変更です。この際に、「同じアカウント」というのがUser IDなのか、User名なのか、iCloud IDなのかが不明です。複数のmacOS 10.15betaマシンを用意しているわけではないのですが、物理的に可能で意味がありそうなのは同一のiCloud IDでしょうか(未検証)。

その後、macOS 10.14.6のマシン環境からRemote AppleEventsでLAN上のmacOS 10.15beta上で起動中のAppleScript Applet(常駐型)に向けてハンドラの呼び出しを行ってみたところ、同じユーザー名のアカウント同士で呼ぶことができました(使用中のiCloud IDも同じなので、何が基準なのか厳密にテストできていないんですけれども)。

AppleScript名:testRemoteEPPC
tell application "testApplet" of machine "eppc://user:xxxxxxxx@Yas-MBP.local"
  set aRes to testMe("ABCDEFG")
end tell

return aRes
–> "GFEDCBA"

★Click Here to Open This Script 

どのユーザーアカウントからのリモートAppleEvent接続でもアプリケーション(AppleScriptアプレット)が応答可能にするためには、受付側(Server)のMacでTerminalから設定コマンドを打ち込めとのこと。

defaults write /Library/Preferences/com.apple.AEServer RestrictAccessToUserSession -bool false

その後、システム環境設定の「共有」でリモートAppleEventsを禁止>許可と設定すると、他のユーザーセッションからでも制御(ハンドラ呼び出し)を受け付けるようです(未検証)。

リリースノートを一通り読んで、変更点がやたらと多いのと「罠」が多い(VPN接続時にAirDropが使用停止になる仕様など)ので、こなれるまで10.15は「待ち」だと感じています。最近のmacOSはRelese時の出来が一番ひどいので、1年かけて公式デバッグを行っているようなもの。しばらくmacOS 10.14を使い続けるのがベストでしょう。

More from my site

  • eppcによるリモートマシンの操作eppcによるリモートマシンの操作
  • macOS 10.15のPDFViewのバグに対処した簡易PDFリーダーmacOS 10.15のPDFViewのバグに対処した簡易PDFリーダー
  • Mojaveに合わせて「Mac OS XのバージョンとAppleScriptの動向の年表」を改定Mojaveに合わせて「Mac OS XのバージョンとAppleScriptの動向の年表」を改定
  • Appleがいまだに直さないPDFViewのバグを回避するAppleがいまだに直さないPDFViewのバグを回避する
  • macOS 10.14のバグ? アクセシビリティ認証macOS 10.14のバグ? アクセシビリティ認証
  • 個人的に腹がたったmacOS/AppleScriptのバグ・ワースト10個人的に腹がたったmacOS/AppleScriptのバグ・ワースト10
Posted in System | Tagged 10.15savvy | Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

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

Google Search

Popular Posts

  • Safariで表示中のWebページの最終更新日時を取得
  • ディスプレイの設定切り替えをAppleScriptでも行えるSwitchResX
  • AppleScript上でJavaScriptを実行する
  • Universal Binaryチェックツール「Uni Detector」をMac App Storeでリリース
  • ファイルパスの変換(Alias→POSIX path→NSURL→POSIX path→file→Alias)
  • Keynoteの各slideのtitleから目次のテキストを作成してNumbersの表を作成
  • Music Control with AppleScript近日発売!
  • リストから選択してアイテム番号を返す
  • デスクトップの表示、非表示切り替え
  • Elgato Stream DeckをAppleScriptでフル活用
  • Code39のバーコードをpdfで生成 v2
  • 画面上の指定座標にマウスカーソルを強制移動させてクリック
  • 文字列から絵文字のみ削除するじっけん
  • JPEG画像の破損チェック
  • 自分を最前面に移動させてAbout表示
  • osascript系のAppleScriptランタイムを区別する
  • Numbersで選択中の表のセルの範囲を背景色で頻度集計
  • Keynoteスライドの末尾にQRコードのスライドを追加
  • 住所録から苗字を抽出して1文字以上の苗字をリスト出力
  • JANコードのチェックデジットの計算

Tags

10.11savvy (1109) 10.12savvy (1249) 10.13savvy (1389) 10.14savvy (531) 10.15savvy (325) 11.0savvy (133) CotEditor (48) Finder (43) iTunes (25) Keynote (66) NSAlert (59) NSAlertSecondButtonReturn (16) NSArray (50) NSBitmapImageRep (20) NSBundle (19) NSButton (33) NSColor (48) NSDictionary (26) NSFileManager (23) NSFont (18) NSImage (40) NSJSONSerialization (21) NSMutableArray (61) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (55) NSScreen (30) NSScrollView (22) NSString (114) NSURL (93) NSURLRequest (22) NSUTF8StringEncoding (30) NSUUID (18) NSView (33) NSWindow (17) NSWorkspace (19) Numbers (43) Pages (19) Safari (34) System Events (16) WKUserContentController (20) WKUserScript (19) WKUserScriptInjectionTimeAtDocumentEnd (17) WKWebView (21) WKWebViewConfiguration (21)

カテゴリー

  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Bluetooth
  • Books
  • boolean
  • Bug
  • Calendar
  • call by reference
  • Clipboard
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • drive
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • History
  • How To
  • Icon
  • Image
  • Input Method
  • Internet
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Language
  • list
  • Locale
  • Machine Learning
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • OCR
  • OSA
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • 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)
  • 未分類

アーカイブ

  • 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
Proudly powered by WordPress
Theme: Flint by Star Verte LLC