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

パネル構成書類「入出力音量調整」

Posted on 4月 3, 2020 by Takaaki Naganoya

新型コロナウィルスの蔓延により、リモートワークでビデオ/オーディオチャットを行う機会が増え、音量調整のためのいい方法がないと嘆いている方が多いようなので、便利な方法をご紹介します。

macOSにはアクセシビリティ系(障害者支援)の機能が多々用意されており、その中核をなす「スイッチコントロール」という機能があります。この機能を利用して、画面上に操作可能な機能ボタンを貼り付けておくことができるため、オーディオ系の音量調整機能などをここに割り振って利用すると便利です。

# 業務系のScriptをフローティングパレット表示しておいて、ワンクリックで実行できるようにしておくと、とても便利だと思います

このスイッチコントロールの機能はユーザーごとに自由にカスタマイズすることができ、さらにその内容を書類に書き出して他のユーザーと共有できるようになっています。

それがパネル構成書類です。これはmacOS標準装備の機能「スイッチコントロール」の書類で、ボタン定義データやボタンから呼び出すAppleScriptが内包されています。

–> Download switchControlUserPanels1.ascconfig(12KB)

[Update] English Version included in same panel

このパネル構成書類はmacOS 10.14上で作成し、macOS10.14.6およびmacOS 10.15.4上での動作を確認しています。

Zipアーカイブから展開して、ユーザーの~/Library/Application Support/com.apple.AssistiveControlフォルダに入れてください。macOS 10.15上では展開後.ascconfig書類がフォルダに見えるかもしれませんが、気にせずそのまま上記フォルダに移動してください。

# 「com.apple.AssistiveControl」フォルダがApplication Support内に存在しない場合には作成してください。このフォルダ名を間違えるとOSに認識されないので、ご注意ください

「システム環境設定」を起動。

「アクセシビリティ」を選択。

左の一覧リストの下の方にある「スイッチコントロール」を選択。

「スイッチコントロールを有効にする」にチェックを入れます。この際に、管理者パスワードを求められる場合があります。

フローティング操作パレット「スイッチコントロール」のホーム画面が表示されるので、「カスタム」をクリック。

カスタムの中にさきほど追加した「入出力音量調整」があるので、それをクリック(”Sound Volume Control” is English version)。

これで、フローティングパレットの入出力音量調整パレットが表示されます。


▲SwitchControlの操作方法。macOS標準のGUI体系とは若干異なる

パレット上の各ボタンをクリックするか、あるいはMacのサブディスプレイとしてiPadを接続している場合には、iPadの画面上を指でタップすると各ボタンの機能が実行されます。

スイッチコントロールのフローティングパレットはパレット左上の「x」をクリックすると消去できます。いったん消去しても、ふたたび「システム環境設定」>「アクセシビリティ」>「スイッチコントロール」に戻って、「スイッチコントロールを有効にする」のチェックを入れると表示されます。

iPadをMacのサブディスプレイとして利用するアプリケーションは、Apple純正のSide Car(macOS 10.15標準装備)のほか、サードパーティ製の「duet display」や「AirDisplay」などが有名です。

とくに、サードパーティ製のアプリケーションは、古めのiOSや古めのiPadをサポートしている(Apple純正機能は最新のiPadしかサポートしていない)ため、身の回りに転がっている古いiPadや中古のiPadをMacのタッチ操作コントローラーにお安く利用できるため、とてもおすすめです。

Posted in news Tools | Tagged 10.14savvy 10.15savvy Switch Control | Leave a comment

iWork Apps Update v10.0

Posted on 4月 1, 2020 by Takaaki Naganoya

Keynote、Pages、Numbersのv10.0が配信されました。Keynoteの前バージョンはv9.2、Pagesはv8.2、Numbersはv6.2.1でしたが、バージョン番号を別々に採番することがめんどくさくなったのか、内部のエンジンが一新されたのか、バージョン番号をそろえてきました。

おそらく、マーケティング的な要請やユーザーサポートの手間を省くために番号をそろえてきたのでしょう。

Pages/NumbersについてはmacOS 10.14以上が対象。KeynoteはmacOS 10.15.4が必要とのことですが、いろいろ致命的なバグの修正を含んでいるため、後日macOS 10.14.6向けのKeynoteアップデートが配信されることを期待したいところです。

# アップデートに出てこないだけで、Mac App Storeから個別にKeynote v10.0のダウンロードが(macOS 10.14.6上でも)できました。なんででしょう?

v10.0 UpdateのAppleScript的な変更の有無

■Keynote v10.0:2か所

■Pages v10.0:1か所

■Numbers v10.0:変更点なし
Numbers v6.2で「特定の行数の表を作るとエラーになる」というバグがありましたが、これはv6.2.1で修正されました。これが修正されています(記憶違いだったので、記事を修正しておきます)。

Pages v10.0の変更点

documentにfacing pagesというプロパティが新設されました。見開き表示時にページの左右(奇数ページ、偶数ページ)を考慮して2ページ表示のペアを変更するという機能のようです。

AppleScript名:Pages v10.0で追加されたfacing pagesの操作を行う
tell application "Pages"
  tell front document
    set curStat to facing pages
    
    
set facing pages to not curStat –反転
    
delay 2
    
set facing pages to curStat –元に戻す
  end tell
end tell

★Click Here to Open This Script 

全言語的に普遍的な内容ではあるのですが、日本語ユーザー的には縦書き/横書きの設定属性値を持ってくれたほうがありがたいところです。たぶん、自分は使うことはないと思います。

Keynote v10.0の変更点

Keynoteは前バージョンでかなりおかしなバグが発覚していたので、その修正が行われているかどうか、というのが見所です。

結論からいえば、バグは修正されています。macOSに関して久しぶりに前向きなニュースといえます。彼らにバグを修正する意思と能力が残されていたことについては喜びたいところです。同時に残念なニュースとして、この修正に関連して新たなバグが生まれています(このあたりがいかにもAppleらしい)。

Keynoteバグ1:表(table)作成時に行数によってはエラーになる

5行の表を作るとエラーになり、他の行数でもいろいろエラーになる組み合わせが確認されていました。テスト用のAppleScriptを書いて、行数を2〜100行で変更しつつ作成、列数を2〜30列で変更しつつ作成、行数および列数を順次ループで2〜20まで変更しつつ新規作成するなどのテストを実施。無事、修正を確認できました。

ただし、本テストは表の新規作成についてのみ確認したものであり、既存の表の行数/列数の変更を確認したものではありません。Appleの仕事に関しては、修正点の周囲に新たなバグを生む可能性が高く、修正時と修正後が一番危険な状態です。彼らに「自分の作った機能を動作確認する」という能力を期待してはいけません。信じてもいけません。つねに、疑いの目で見ることが重要です。

AppleScript名:Keynote書類上に表を作成、行数を2から100まで可変
tell application "Keynote"
  tell front document
    tell current slide
      repeat with i from 2 to 100
        set aTable to make new table with properties {header column count:0, header row count:0, row count:i, column count:3}
        
delay 1
        
delete aTable
      end repeat
    end tell
  end tell
end tell

★Click Here to Open This Script 

AppleScript名:Keynote書類上に表を作成、列数を2から30まで可変
tell application "Keynote"
  tell front document
    tell current slide
      repeat with i from 2 to 30
        set aTable to make new table with properties {header column count:0, header row count:0, row count:5, column count:i}
        
delay 1
        
delete aTable
      end repeat
    end tell
  end tell
end tell

★Click Here to Open This Script 

AppleScript名:Keynote書類上に表を作成、行数および列数を2から20まで可変
tell application "Keynote"
  tell front document
    tell current slide
      repeat with x from 2 to 20
        repeat with y from 2 to 20
          set aTable to make new table with properties {header column count:0, header row count:0, row count:y, column count:x}
          
delay 0.01
          
delete aTable
        end repeat
      end repeat
    end tell
  end tell
end tell

★Click Here to Open This Script 

Keynoteバグ2:書類(document)のムービーexport optionsにバグ

数値ではじまる予約語や記号を含む予約語はAppleScriptの言語処理系では宣言できません。エラーになります。それをAppleの(おそらくKeynoteの)担当者がKeynote v7.1のアップデート時に、従来の「small」「midium」「large」といったEnumによる指定から、「360p」「540p」「720p」「1080p」「2160p」という指定を行えるように変更を加えました。

より大きな解像度の書き出しに対処したことは評価できると思いますが、そもそもAppleScriptの処理系で認識できない「数字で始まる予約語」に変えたのはダメダメです(スクリプトエディタ上で構文確認を行うとエラーになる=使えない)。つまり、この担当者はsdefの改変を行なっただけで、実際にコードを書いて動作確認を行っていないことがわかります。

Appleにバグレポートを書きつつ、このような処理が必要な場合にはnative sizeで書き出して、そのあとでムービーをリサイズするような処理で回避していました(GUI Scriptingで乗り切ったScripterもいるようですが)。

Keynote v10.0では「format360p」「format540p」「format720p」「format1080p」「format2160p」と変更され、AppleScriptの構文確認時にエラーでハネられることはなくなりました。この点についてはバグ修正が行われたものと判断してよいと思われます。

ただし、従来動作していたEnum「native size」を指定するとエラーになるようになってしまいました。互換性のために残したが動作していない、といったコメントが書かれているわけでもないため、これはバグだと判断します。

■Keynote書類フォーマットとムービー書き出し時の解像度の対応表(Piyomaru Software独自調査による)

movie export formats 標準(4:3) ワイド(16:9)
format360p 480 × 360 640 × 360
format540p 720 × 540 960 × 540
format720p 960 × 720 1280 × 720
format1080p 1440 × 1080 1920 × 1080
format2160p 2880 × 2160 3840 × 2160
AppleScript名:Keynote 360p movie export test
set targetFileHFSPath to (choose file name) as string –かならずファイル拡張子に「.m4v」を指定する必要がある
if targetFileHFSPath does not end with ".m4v" then
  set targetFileHFSPath to targetFileHFSPath & ".m4v"
end if

with timeout of 3600 seconds
  tell application "Keynote"
    export front document to file targetFileHFSPath as QuickTime movie with properties {movie format:format360p}
  end tell
end timeout

★Click Here to Open This Script 

AppleScript名:Keynote 540p movie export test
set targetFileHFSPath to (choose file name) as string –かならずファイル拡張子に「.m4v」を指定する必要がある
if targetFileHFSPath does not end with ".m4v" then
  set targetFileHFSPath to targetFileHFSPath & ".m4v"
end if

with timeout of 3600 seconds
  tell application "Keynote"
    export front document to file targetFileHFSPath as QuickTime movie with properties {movie format:format540p}
  end tell
end timeout

★Click Here to Open This Script 

AppleScript名:Keynote 720p movie export test
set targetFileHFSPath to (choose file name) as string –かならずファイル拡張子に「.m4v」を指定する必要がある
if targetFileHFSPath does not end with ".m4v" then
  set targetFileHFSPath to targetFileHFSPath & ".m4v"
end if

with timeout of 3600 seconds
  tell application "Keynote"
    export front document to file targetFileHFSPath as QuickTime movie with properties {movie format:format720p}
  end tell
end timeout

★Click Here to Open This Script 

AppleScript名:Keynote 1080p movie export test
set targetFileHFSPath to (choose file name) as string –かならずファイル拡張子に「.m4v」を指定する必要がある
if targetFileHFSPath does not end with ".m4v" then
  set targetFileHFSPath to targetFileHFSPath & ".m4v"
end if

with timeout of 3600 seconds
  tell application "Keynote"
    export front document to file targetFileHFSPath as QuickTime movie with properties {movie format:format1080p}
  end tell
end timeout

★Click Here to Open This Script 

AppleScript名:Keynote 2160p movie export test
set targetFileHFSPath to (choose file name) as string –かならずファイル拡張子に「.m4v」を指定する必要がある
if targetFileHFSPath does not end with ".m4v" then
  set targetFileHFSPath to targetFileHFSPath & ".m4v"
end if

with timeout of 3600 seconds
  tell application "Keynote"
    export front document to file targetFileHFSPath as QuickTime movie with properties {movie format:format2160p}
  end tell
end timeout

★Click Here to Open This Script 

AppleScript名:Keynote ‌‌native size movie export test (Bug)
set targetFileHFSPath to (choose file name) as string –かならずファイル拡張子に「.m4v」を指定する必要がある
if targetFileHFSPath does not end with ".m4v" then
  set targetFileHFSPath to targetFileHFSPath & ".m4v"
end if

with timeout of 3600 seconds
  tell application "Keynote"
    –export front document to file targetFileHFSPath as QuickTime movie with properties {movie format:‌‌native size}
  end tell
end timeout

★Click Here to Open This Script 

Posted in Bug news | Tagged 10.14savvy 10.15savvy Keynote Numbers Pages | 1 Comment

ラリー・テスラー亡くなる

Posted on 2月 20, 2020 by Takaaki Naganoya

コンピュータのインタラクション・デザインを研究・実践してきたコンピュータ科学者のラリー・テスラー氏が亡くなりました。Xerox PARCやAppleをはじめ、名だたるIT企業を勤めてきました。

1980年にテスラーはPARCからAppleに移り、1989年、ATG(Apple Technology Group)でMac OSのユーザー向けスクリプティング言語を開発する「Family Farm」プロジェクトを開始。これがのちのAppleScriptになりました。

コピー&ペーストをはじめ、彼の活躍や着想なしに現在のパーソナルコンピュータの姿はありえなかったことでしょう。

彼の冥福をお祈りいたします。

■AppleScript登場前の歴史(書籍「AppleScript 10大最新技術」より引用)

時期 内容
1989年 ATG(Apple Technology Group)で、Mac OSのユーザー向けスクリプティング言語を開発する「Family Farm」プロジェクトが始まる。ラリー・テスラーがリーダー。メンバーはMike Farr、Mitchell Gass、Mike Gough、Jed Harris、Al Hoffman、Ruben Kleiman、Edmund Lai、Frank Ludolph
1990年 HyperCard 2.0が出荷される
1990年中盤 Family Farmプロジェクトの最初のスピンオフプロジェクトとして、スクリプト言語の基盤となるAppleEventの開発が始まる
1991年4月 ウィリアム・クック、Appleで働きはじめる。AppleEvent Managerの最終β段階
1991年夏 発売予定のSystem 7にAppleEvent Managerを一緒に出荷すべく計画される
1991年中旬 LispやSmallTalkなどの既存の言語のランタイム上にAppleScriptシステムを構築することが検討される
1992年 AppleScript対応のHyperCard 2.2がリリース
1992年2月 ウィリアム・クック、Kurt PiersolからAppleScriptに関するアイデアを聞く。AppleScriptのα版がリリースされる。Dave Winer(SOAPとかBlogの仕組みを開発した人)がUserland Frontierの初期バージョンをリリース
1993年4月 AppleScript 1.0Developer's Toolkitをリリース
1993年1月 AppleScript 1.1の次バージョンにさらなる機能追加を行うことをAppleが決定
1993年9月 AppleScript 1.1がリリース。はじめてのエンドユーザー向けのリリース。AppleScriptのオリジナル開発グループが解体される。ウィリアム・クックがAppleを辞める(1993年内の時期不明)
1994年 FaceSpanがリリースされる
1997年 ScriptableなFinderがリリースされる
1997年7月 System 8と一緒にAppleScript 1.1.2がリリースされる
Posted in news | Leave a comment

Blogへの新規ユーザー登録を停止

Posted on 1月 24, 2020 by Takaaki Naganoya

本Blogには誰でもユーザー登録できるようになっていました。フォーラムの運用を想定していたので、誰でも登録できるようになっていたほうがよいと考えたからです。

ただ、最近はスパマーのボットによるユーザー登録が増えてきて、スパマーのブラックリストを用いての確認とかユーザー削除の作業が増えてきて、一時はスパマー除去のためのプラグインを入れて様子を見ていました。

スパマー除去プラグインのお試し期間が過ぎ、一思案。

スパマー除去サービスを利用するのが最善手でありますが、そこまでするんだったらもう少し、WordPressのユーザー登録時にロボットを弾くための認証プロセスを追加するなどの方法もありそうですし(自分が考えるぐらいだから存在するでしょう)。

とりあえずの暫定措置で、ユーザー登録そのものを一時的に停止します。日本語で書いて意味があるかは不明ですが、、、

Posted in news | Leave a comment

サーバーメンテナンスが行われます

Posted on 1月 20, 2020 by Takaaki Naganoya

2018年1月にDBをふっとばしてくれたホスティング業者「Xserver」をまだ使っているわけですが、日本標準時(JST)で2020年1月21日 AM2:00〜AM8:00ごろまで、データセンター内の回線増強にともない10分から60分程度、本サイトにアクセスできなくなる見通しです。

その間は、本サイトを通じて配布している各種AppleScriptライブラリのsdefに入れている画像やムービーなどが見えなくなります。

Posted in news | Leave a comment

Microsoft Edgeが正式リリース

Posted on 1月 16, 2020 by Takaaki Naganoya

MicrosoftによるGoogle Chrome(オープンソース版のChromium)をベースにした(そのまま)Webブラウザ「Microsoft Edge」の正式版がリリースされました。

ChromiumはAppleScriptに対応しており、ベータ版である「Edge Canary」もChromiumと同様のAppleScript用語辞書を備えていました(A=B)。

正式版「Edge」のAppleScript用語辞書と「Edge Canary」の用語辞書とdiffをとってみたところ、内容が同じであることを確認できました(B=C)。

このため、Google Chromium用のAppleScriptとtell文のアプリケーション名だけ書き換えればEdge用のAppleScriptとして動かせることが期待できます(メニューやボタンを直接動かすGUI Sciriptingをのぞく)。


▲メニュー構成はけっこう違います

Posted in news | Tagged Microsoft Edge | Leave a comment

A Happy New Year

Posted on 1月 1, 2020 by Takaaki Naganoya

Posted in news | Leave a comment

2019年に書いた価値あるAppleScript

Posted on 12月 13, 2019 by Takaaki Naganoya

2019年:macOS 10.15(自分は10.14を使用)

2019年を振り返ると、

 ・鹿児島から東京に帰ってきた
 ・メイン環境をmacOS 10.12から10.14に移行した(10.13をパスした)
 ・仕事でCSVやIllustratorと格闘していた
 ・高度なデータ照合(配列の順列組み合わせ全パターン計算して照合)を実施
 ・Webブラウザ上のWebコンテンツ部品の詳細データにアクセスしたり、JavaScript側からAppleScriptにレコードや配列などの高度なデータを返すような処理ができるように
 ・AppleScript用語辞書つきのライブラリの試作開始
 ・アラートダイアログ上に有用なGUI部品を配置したライブラリの提供開始(コードネーム:箱庭ツールス)
 ・sdefの書き方に着手。世界初のムービー/画像/サンプルScript入りsdefが作れるようになった

といったところでしょうか。2018年がTanzakuの部品や研究、AppleScriptからの機械学習の利用などが主な方向だったのと比べると、より一般性の高い部品を作っていたような印象があります。もちろん、Tanzakuの発展機能を実装した小規模な実証アプリケーション「Tanshio」も今年の目玉です。

2019年で一番価値の高いAppleScriptといえば、「Safariで現在見えている表を抽出してCSV書き出しv3」でしょう。Webブラウザ上に見えている範囲のオブジェクトだけを処理対象にする、といういままでやりたくてもできなかった処理ができました。

■2019/1
Pages書類の1ページ目の表の背景色を置換 v4
セキュリティダイアログに表示するメッセージをローカライズする
このあたりは、必要に迫られていろいろ試行錯誤したものですが、macOS 10.14以降のセキュリティダイアログ関連の経験を蓄積しないとこれらのOS上でGUIアプリケーションが作れないので、とても重要です。

■2019/2
アラートダイアログ上にTable View+Map Viewを表示
アラートダイアログ上にちょっとしたGUI部品を並べる「箱庭ユーザーインタフェース」。これまでそうしたユーザーインタフェースは推奨されてきませんでしたが、よくよく見回せばiOSアプリなどこの箱庭ユーザーインタフェースそのもの。だったら、macOS上のAppleScriptでそういうものを作ってもいいと割り切って作ってみた次第です。

■2019/3
青空文庫のテキストのルビタグを超高速削除
720KBのテキスト置換を数秒で行う、現時点でのCocoaの機能を十分に活用した、1つの到達点です。普通にtext item delimitersで置換していただけでは、この規模の処理は数時間かかることでしょう(一晩かけても終わらないかも)。

■2019/4
RectangleBinPackを用いて2D Bin Packを解く
Appleがいまだに直さないPDFViewのバグを回避する
2D Bin Packは昔からクリアしておきたいと思っていたテーマです。PDFViewというかScripting Bridgeのバグには困らされまくりです。

■2019/5
矩形座標同士の衝突判定(共通部分の検出) v3b
GET method REST API v4.3
このあたりは順調に機能を積み上げて到達した処理です。地道に機能を積み上げて、もう少しで別のレベルに行けることでしょう。

■2019/6
与えられた文字列の1D Listのすべての順列組み合わせパターン文字列を返す v3
macOS 10.15 Beta Release Notesに将来のmacOSでPython、Ruby、Perlなどのランタイムが含まれなくなることを告知
データの照合処理で必要になってくる(場合もある)順列組み合わせ計算。自分で書いた処理だけでなく他人の書いた処理も参考にしてパワーアップしました。他のScript言語処理系がデフォルトでインストールされなくなるかもしれないという件、OSプラットフォームとしての魅力が下がるのでやめてほしいんですが、そういう決定をするならするで、AppleにはAppleScriptの処理系をもっと大事にしてほしい気がします。

■2019/7
クリップボードに入れたIllustratorのオブジェクトをQRコード認識 v2
構文色分け情報を取得(Color Spaceを考慮)
QRコード認識は以前からいろいろやっていますが、実戦で使ってみると予想外の事態に直面します。想定外であれば想定外なりに対処した、というのが自動スケールアップ+QR認識機能です。
一方、AppleScript書類の構文色分けに基づく構文要素処理も機能を積み重ね、もう少し熟成(部品単位での使い回しを向上)させると普通にありふれた部品として使えるようになることでしょう。ライブラリ化してsdef付けて呼ぶぐらいこなれるとよいことでしょう。

■2019/8
display YouTube Script Library
JavaScriptCore経由で関数計算を行うcalcLibASをアップデート
冗談の産物display youtubeに、冗談で作ったcalcLibJS(JXAで作った)のあまりの不安定さに音を上げて作り変えたcalcLibAS、そして高速化改良を加え、sdefをつけて予約語で呼び出せるようにしたcalcLibASは、冗談から生まれて下手に実用性が出てしまったものです。冗談で作ったものが意外な発展を遂げるというのは、よくある話です。

■2019/9
指定アプリケーションの指定言語のstringsファイルの内容をすべて取り出す
Safariで指定のDOM Elementの情報を取得する
やらなくてはならない処理ばかり書いていると「やりたい処理」も書きたくなるもので、Safariを経由してJavaScriptの実行結果をAppleScriptで利用しやすくする処理を書いておきました。これが、今年一番の「Safariで現在見えている表を抽出してCSV書き出しv3」へとつながります。

■2019/10
CotEditorのScript集、PowerPack & Basic Packをv2.0にアップデート
sdef(AppleScript用語辞書)に画像やムービーを入れる
CotEditorの最前面のドキュメントの選択範囲を伏せ字に
CotEditorのPowerPackは、実際に作ってみていろいろ発見がありました。無償配布のScript集なんて作る意義はほとんど感じないものですが、これは事実上Tanzakuの部品や実装の習作でもあります。
sdefに画像やムービーを入れた例は目にしたことがありませんでしたが、「applescript://」リンクURL入りのサンプルScriptや画面スナップショットが入っているsdefを見ると、逆に入っていないものに違和感を覚えるほどです。

■2019/11
Safariで現在見えている表を抽出してCSV書き出しv3
checkboxLib v2
今年書いた中で、そしてここ数年で一番のScriptです。こういうレベルの処理が書きたかったものの、手がかりが見つからずに着手していませんでした。Webコンテンツの処理で「実際にWebブラウザで見えている範囲のものをピックアップする」のはやりたかった処理です。
checkboxLib v2は、はじめてムービー入りのsdefを同梱したライブラリです。実際にやってみると面白いものの、ムービーまでやらなくていいと感じます。

■2019/12
Double PDFを作り直して、Scripting Bridgeのバグを回避したと思ったら、PDFViewではNotificationもバグっていて表示中のページ変更のノーティフィケーションでページのノンブル変更できず、もう最初から最後まで表示中のページを自前で管理するなど「それってゲームプログラム?」ともいうような作りになってしまいました。

腹いせにVer.2はDouble PDFを30言語ローカライズして審査に回しました。ステータスが審査中になっても、数日返ってきません。言語リソースが増えると審査に余計に時間がかかるのでしょうか?

Posted in news イベント(Event) | 4 Comments

[作業中]Double PDF 改修中

Posted on 11月 28, 2019 by Takaaki Naganoya

AppleがPDFViewのScripting Bridge関連データにバグを作り、レポートしても一向に直さないため、Mac App Storeに出しているものの、macOS 10.13以降のOSでは正常動作しない、Piyomaru Software謹製のPDF差分ブラウザ「Double PDF」。

Appleが作ったバグのせいで基礎的な動作が阻害されてしまっているので、機能アップは一切考えないで(機能アップ版として別のものを作っていたので)、Double PDFについては現在のOSで動くレベルで改修をすすめています(作業量が見えない、、、、)。

–> Demo Movie of Current Version of Double PDF v2.0 (on macOS 10.14.6)

AppleScriptの箱庭世界でモノを作っている分には環境変化は割と穏やかですが、直接Cocoaの機能に手を出しはじめると、OSバージョンごとの無意味な名称改変とか、予告なしの仕様変更とか、このような未改修のバグに直面することがあり、Mac OS X 10.3で「is in」という基礎的かつ重要な演算子にバグを作られた時と同質の負の感情を喚起されるものがあります。

正式にDevelopper Supportの窓口から詳細に症状を伝えてレポートしても無視されているので、AppleのDevelopper Supportもバグの報告でパンクしているということでしょうか。macOS 10.13以降、バグレポートしても返事も来ないのが日常化してしまったので(AppleScript関連ではないバグがほとんどなのですが)、バグを直す気がないんでしょうか。


▲macOS 10.14.6上で改修中。まだ画面操作まわりに着手しただけ


▲macOS 10.15.1上で動作確認。最近のmacOSはBetaで動作確認してもRelease版の品質がBeta以下なので、Beta上で確認する意義が、、、

Appleによって破壊された機能は、PDFViewまわりの基礎的な機能。

- (IBAction)goToFirstPage:(nullable id)sender;
- (IBAction)goToLastPage:(nullable id)sender;
- (IBAction)goToNextPage:(nullable id)sender;
- (IBAction)goToPreviousPage:(nullable id)sender;

@property (nonatomic, readonly, nullable) PDFPage *currentPage;

などです(他にもあるかも。いや、確実にある)。つまり、PDFビューワー機能を作ろうとすると、いろいろ苦労させられる状態です。

苦労が必要ということは、余計に処理時間が必要ということで、処理速度はオリジナル版よりも遅くなっています。とくに、PDFのページめくりが、、、


▲開発時に資料を作っておかなかったらもっと大変、、、、、

Posted in news PRODUCTS | Tagged 10.14savvy 10.15savvy | Leave a comment

Chris EspinosaがAppleScript 25周年を祝うTweetを投稿

Posted on 10月 5, 2018 by Takaaki Naganoya

On this day 25 years ago, Apple introduced AppleScript, a system and application automation system and language. It’s still shipping in Mojave and is one of the oldest code bases in continual use in macOS. Happy birthday, AppleScript! pic.twitter.com/ymijJ8mMa1

— Chris Espinosa (@cdespinosa) October 4, 2018

社員番号8番で、Developper Tools担当を長年務め、いまはHome Kitを手がけていると噂されている、AppleScript系の開発者にはおなじみのChris EspinosaがAppleScriptの生誕25周年を祝うTweetを投稿していました。

Posted in news | Leave a comment

イベント「Think AppleScript」盛会のうちに終了

Posted on 9月 26, 2018 by Takaaki Naganoya

2018年9月26日、池袋で開催したイベント「Think AppleScript」、参加者12名で盛会のうちに終了しました。

お越しいただいた皆様、お忙しいところをありがとうございました。まずは、お礼までに。

電子書籍「AppleScript 10大最新技術」をベースにAppleScriptの歴史や成り立ち、これまでの経緯を説明し、Newt Onや最新のTanzaku、あるいはAppleScriptで作成したMac App Storeで販売中のアプリケーション「Double PDF」などについてデモを行いました。

電子書籍「AppleScript最新リファレンス」掲載のiOSデバイスとのAppleScriptによる連携をご紹介したところ、出席者から驚きの声が上がっていました。

Posted in news | 2 Comments

Blogアーカイブ本 既刊3冊にTOCアップデート

Posted on 8月 19, 2018 by Takaaki Naganoya

AppleScriptの穴Blogアーカイブ1〜3が、よりパワーアップ。TOC(しおり)を付加していっそう読みやすくなりました(読みにくくなくなりました、の間違い?)。

Blogアーカイブ本をBOOTHからダウンロード購入された方は、再度ダウンロードを行ってみてください(再購入の必要はありません)。

また、今回のTOCアップデートは目次を持たないアーカイブ本への目次追加の措置であり、TOCはないものの目次がついている他の既刊本はその対象ではありません。

昨日のうちに再ダウンロードしてくださった方、ごめんなさい。その時点ではまだアップデートしていなかったんです、、、

Posted in Books news | Leave a comment

Post navigation

  • Newer posts

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

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 15, Sequoia
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Numbersで選択範囲のセルの前後の空白を削除
  • メキシカンハットの描画
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AppleScriptによる並列処理
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • macOS 15でも変化したText to Speech環境
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • デフォルトインストールされたフォント名を取得するAppleScript
  • macOS 15 リモートApple Eventsにバグ?
  • Script Debuggerの開発と販売が2025年に終了
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • AppleScript入門① AppleScriptってなんだろう?
  • macOS 14で変更になったOSバージョン取得APIの返り値
  • NSObjectのクラス名を取得 v2.1
  • macOS 15:スクリプトエディタのAppleScript用語辞書を確認できない
  • 有害ではなくなっていたSpaces
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行

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 (135) CotEditor (66) Finder (51) iTunes (19) Keynote (119) 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
  • 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
  • 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年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