Archive for the 'iBooks Author' Category

2015/07/01 iTunes, iBooks Author, XcodeなどOS X 10.10.4に合わせてアップデート

OS X 10.10.4が公開され、同時にiTunes 12.2.0、iBooks Author 2.3、GarageBand 10.1、Xcode 6.4なども公開されました。

OS X 10.10.4では、既存のバグのうち直ったものもあれば直っていないものもあり・・・かつ長期的にテストするとやっぱり動いていないようなもの(Message.appのメッセージ受信などのイベントハンドラで実行するAppleScriptについては、長期間テストしてみると動かないケースもあったりで)もあり、10.10.x系列のバグ取りに協力すべきなのか10.11系列のテストに移行すべきなのかいまひとつはっきりしません。

とりあえず、AppleScript的に見た各アプリケーションの対応度の変化を調べてみました。用語辞書レベルではとくに変化はないように見えます(すべて前バージョンとdiffで比較してみました)。

iTunes 12.2

AppleScript用語辞書の内容について、前バージョンからの変化はありません。

iBooks Author 2.3

用語辞書はついているものの、アプリケーションの機能をほとんどサポートしておらず、「仕事しているフリ」というレベルです。前バージョンと変化はありません。現状では本アプリで行う仕事を自動化するのに役立つ機能はAppleScriptなどのOSA言語からは一切利用できません(書類のオープンとクローズができる程度)。

GarageBand 10.1

ものすごく割り切ったAppleScript用語辞書がついています。renderPreviewという1つの命令のみ実装されており、

renderPreview v : Render an iLife Preview for a project
 renderPreview [file] : Reference to the project

という内容のようですが、これが本当に役立つものかどうかは不明です。あと、説明がそっけなさすぎて「iLife Preview」の指すものが、GarageBandのファイルなのか、iPhoto/Photos、iTunesなどのiLife Applicationのデータなのかがよくわかりません。

Xcode 6.4

前バージョンからの変更点はAppleScript用語辞書的にはありません。Xcodeによる開発作業やプロジェクトの自動解析などに役立つレベルの実装にはなっていません。

2012/10/27 iBooks Author 2.0も依然としてAppleScript非対応

縦書きの電子ブックを作成できるようになったiBooks Author v2.0。他の機能には目もくれず、真っ先にAppleScriptエディタでAppleScript用語辞書をチェック。これが、あいかわらずAppleScriptにまともに対応していないことを確認しました。用語辞書があっても、あるだけです。残念!

一応、AppleScript用語辞書はオープンできるものの、オブジェクトの定義がうそっぽいのと、本来必要だと思われるコマンドが搭載されておらず……Appleのエンジニア(もしくは外注の会社)が「仕事しているフリ」をしているようにしか見えません。

おまけに、Apple純正ソフトウェアにもかかわらずRetinaアイコンに対応していないという、「手抜き感」あふれる仕上がりです。

本来、AppleScriptに対応して他のアプリケーションで組まれたデータを大量に電子ブックに変換するフローを構築する礎になるべき存在だと思うのですが、そこまでは手が回っていないということでしょうか。

ibooksauthor.png

スクリプト名:iBooks Author v2.0のScripting(最低限、使い物にならない)対応度の調査
tell application “iBooks Author”
  properties
  
–> {name:”iBooks Author”, frontmost:false, class:application, version:”2.0″}
  
  
–make new document
  
–> 新規ドキュメントの作成はできない。ただし、GUIから作成したときに「名称未設定2」のように数字はカウントアップされている
  
  
tell document 1
    properties
    
–> {name:”名称未設定 2″, path:missing value, class:document, modified:false}
    
    
(*
    set aList to every item
    –> error “iBooks Author でエラーが起きました:every item of document 1 を取り出すことはできません。” number -1728 from every item of document 1
    *)

  end tell
  
  
(*
  tell window 1
    properties
    –> error “iBooks Author でエラーが起きました:window 1 を取り出すことはできません。正しくないインデックスです。”
  end tell
  *)

end tell

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

2012/01/21 iBooks AuthorはAppleScript非対応

iBook Storeで配布できるePub書類iBooks書類(Fair PLAYのDRMが施されている)を作成できるアプリケーション、iBooks AuthorがMac App Storeで無料公開されました。

author1.jpg

さっそく、iBooks AuthorのAppleScript対応度を確認すべく、AppleScriptエディタでiBooks Authorのアプリケーションアイコンをオープンして確認したところ……

author2.jpg

一応、AppleScript用語辞書が表示されるのですが、アプリケーションの機能と用語辞書の内容が対応していませんし、makeやsetという命令があったとしても、操作する対象(オブジェクト)の定義がほとんどありません。

実際に、新規書類の作成などそれらしい書き方で試してみたのですが、書類の番号のみインクリメントされるばかりで実際には表示されませんでした。

以上の状況から総合的に判断して、残念ながらiBooks Authorの最初のバージョンはAppleScriptにはまともに対応していない状態であると判定。現状では、GUI Scriptingで強引にメニューを操作する以上のことは何もできません。GUI Scriptingで強引に操作を行って、その内容が正しく内部機能へのアクセス経由で検証できないと「結果がどうなっているか分らないけれどとりあえず操作してみた」という無責任なプログラムになってしまいます。GUI Scriptingの併用は、データへの影響を検証しながら慎重に行うべきものです。

また、一部で「JavaScriptで(内部)機能を呼び出せる」といった噂もありましたが、あくまで「HTML5.0+JavaScriptから構成されるウィジェットをePub書類iBooks書類に埋め込める」というだけのものであり、JavaScriptからiBooks Authorの内部機能を呼び出せるわけではありません。