▲Amazon Kindle販売版の表紙(Kindle版の表紙はすべて同じ画像です)
書名:「Cocoa Scripting Course Volume #1 NSString」
著者:Takaaki Naganoya(Piyomaru Software)
監修:edama2氏
ページ数:250ページ(2021/3/16現在)
フォーマット:PDF+Zipアーカイブ(721ファイル)
特別特典:
Script Debuggerの15%割引購入コード入り
購入後3か月まで、本書の内容で理解できない箇所について3か所まで補足説明
理解度確認テストで合格した方に修了証明書を発行
内容:
macOSのAPIであるCocoaをAppleScriptから利用し、macOSの持つ強力な機能をアプリケーションの補助なしに直接呼び出せる「Cocoa Scripting」は、日々の業務やデータ処理に、たいへん強力な武器になります。
この、Cocoa Scriptingについてはとくに日本語の書籍が存在しておらず、これまでは「Xcodeの使い方、GUIの作り方、各メソッドの使い方….」といった、体系がまったく異なるObjective-Cの入門書で断片的に情報を得ることしかできませんでした。
本書は、Cocoa APIの使い方をAppleScriptに合わせて解説。とくに、Objective-C/Swift入門書にある膨大な「Xcodeの使いこなし」部分は覚える必要はありません。図を中心に説明することで、難解な概念を理解しやすく解説します。
また、本書は「AppleScriptの穴」掲載AppleScriptのカテゴリ別アーカイブ集ともなっており、本書にはNSStringなど文字処理を行うサンプルScriptのファイルを添付しています。
構成:
Cocoa Scriptingについての解説部分、各巻で個別の説明部分、そして対象のCocoa APIを利用したサンプルScriptアーカイブから構成されます。
巻末には、理解度を確認するためのテストが用意され、筆者に回答を送ると採点を実施。合格点(80点)を取った方には「修了証明書」を発行(PDF形式)。
2022.3.30 バグレポート(macOS 12.3):
NSMutableCharacterSetを指定すべきところに、NSCharacterSetを指定していたものが見つかりました。これらのサンプルScriptをmacOS 12.3以降の環境で実行すると実行環境ごとクラッシュすることがわかりました。以下のフォルダに存在しているものです。配布アーカイブの差し替えを行いますが、お手元のScriptについて未更新のものについてはお気をつけください。
/book1 samples/テキスト、文字列処理、Text/文字種別判定、文字種類変換/
ASOCで文字種別を判定する v2
指定文字列が記号だけかを調べる.scptd
/book1 samples/テキスト、文字列処理、Text/その他、いろいろ/
テキストの文字種類パターンを抽出
目次:
1章 入門編
■Cocoa Scriptingの概要
Cocoa Scriptingってどういうもの?
Cocoa Scriptingの実際
Cocoa Scriptingの威力
Cocoa Scriptingのメリット
Cocoa Scriptingに必要なもの
Cocoa Scriptingまとめ
Cocoa Scripting9つの誓い
■Cocoa Scriptingに適したmacOSについて
Cocoa Scripting環境の進化の歴史
Cocoa Scriptable macOS
ランタイム環境によっては非対応
参考資料:AppleScriptランタイム環境情報
さまざまなCocoa Scripting環境
Cocoa Scripting環境ごとの挙動の違い
SIP解除の是非
■プログラミングスタイル
開発・実行環境のちがい
処理手順の違い
メインスレッド実行が必須な機能のScripting
delegation, notification
実行スタイルの違いによる書き換え
AppleScriptでCocoaオブジェクトを呼び出すと…
サブルーチン記述
オブジェクト階層を示すmyとme
クラス拡張
高速なCocoa Scriptを書くためには
アプリケーションとのやりとり
暗黙の型変換
一部のコマンドで書き換えが必要
計算の優先順位を示すカッコを修正
■情報の調べ方
Cocoa Scriptingを行う際の調べ方
Appleのオンラインドキュメント
Xcodeでヘッダーファイルを「素早く開く」
■ヘッダーファイルの歩き方
ヘッダーファイルの構成要素
Deprecatedな機能に遭遇した場合
Enum(定数)の記載パターン
AppleScriptの数値表現幅を超えるEnum(定数)
2章 実践編
■Cocoa Scriptを実際に動かす
Script Editor/Script Debuggerを起動
Cocoa Scriptを実行
Cocoa Objectのログを表示
Cocoa Scriptの書類を保存
Cocoa Scriptのエクスポート形式
■Objective-CのCocoa呼び出し記述をAppleScript記述に翻訳する
Cocoa Script(AppleScriptObjC)の構成
Objective-Cの各種データ表記書き換え
Cocoaメソッド名の大文字小文字指定
Cocoaメソッド名の変換
■基礎的なCocoaオブジェクト解説
メソッド呼び出し時のパラメータ
NSString(文字列)
NSArray(配列)
Number(数値)
NSDictionary(辞書)
Enum(定数)
nil
Cocoa Scriptingの特徴的な動き
■AppleScriptとCocoa間のオブジェクト変換
AppleScriptオブジェクトに対応するCocoaクラス
配列関連のCocoaクラス
レコード関連のCocoaクラス
文字列関連のCocoaクラス
日付関連のCocoaクラス
File Path関連オブジェクト
File Path関連オブジェクト変換方法
画像関連Cocoaオブジェクト
ファイルパス文字列(NSString)関連
URL関連
Remote URL文字列関連
配列関連
Dictionary関連
NSString文字エンコーディング関連
Color関連
HTML関連
■Cocoa Object同士の変換、生成
Cocoa Object同士の変換、生成
NSData
Styled String
座標系データ
言語、Locale系データ
有用なCocoaオブジェクト
3章 NSString編
■NSStringの位置付けと役割
用途別のフレームワークを知ろう
NSString / NSMutableString
NSStringのつかいどころ
NSStringならではの使い道
NSStringのメソッドの返り値を使う
■NSString Basic Samples
■NSStringを利用した高度な処理
高速組文字置換
文字コードの自動判別
添付サンプルScript紹介
■ディレクトリ構成と概要紹介
Basic Sample Scripts
テキスト、文字列処理、Text
ファイルパス操作
正規表現、Regexp
日本語 形態素解析、Language Understanding
NSObjectのmethod
AppleScript書類自体の処理
資料編
■Cocoa Scripting関連のAppleScript命令
AppleScript予約語一覧
use
on, to
anything
as
property
■Cocoa ScriptingとScript Object
Cocoa ScriptingとScript Object(Script文)
Script Object内でCocoa Scriptingを行う
Handlerの間接呼び出し
■AppleScript Droplet
セキュリティ制限を回避するDropletの書き方
■サードパーティ製FrameworkやAppleScript Librariesを呼ぶ
Script BundleにFramework / AppleScript Librariesを入れる
Shane StanleyのScript Toolの変遷
Shane StanleyのScript Libraries
Piyomaru SoftwareのScript Libraries
AppleScriptから呼べる主要Framework
AppleScriptから呼んだことのあるOS Framework
各macOSのFrameworkの変化
■AppleScript mini reference
macOS搭載 AppleScript関連ドキュメント
AppleScript関連の情報源
macOSバージョンとAppleScriptの動向
macOSとAppleScriptの要素技術史
各macOSごとのAppleScript解説
macOS内AppleScript補助ツールの歴史
System EventsのAppleScript用語辞書変更点
AppleScript 各ランタイム環境情報
AppleScript 関連ツール
Cocoa Scripting 関連ツール
理解度確認テスト
著者あとがき
奥付