AppleScript+Xcode GUIアプリソース集
- ダウンロード商品¥ 5,000
macOS向けGUIアプリ開発をAppleScriptとXcode(AppleScriptObjC)で行いたい方へ。 Web上の断片的な情報に終止符を打ち、確実に動作する170本もの実践的なXcodeプロジェクトを収録したのが本書です。Apple Silicon MacとIntel Macの両方で動作するUniversal Binaryとしてビルド確認済みで、複雑な専門用語や技術解説を極力省き、「動くコード」に徹底的にフォーカスしています。 主要なGUI部品の操作を網羅した30章のシンプルで分かりやすい作例を通じて、Mac App Store向けアプリ開発で培われた実践的なノウハウを効率的に習得できます。ChatGPTなどのAIが生成する不確かなコードに頼る必要はもうありません。 AppleScriptとXcodeの基本を理解している方を対象に、本書はあなたのMacアプリ開発を次のレベルへと押し上げる、唯一無二の「動く設計図」となるでしょう。 PDF 382ページ+Zipアーカイブ
目次
■1章 さあ、はじめよう! Xcodeのインストール Script Debuggerのインストール AppleScriptプロジェクト・テンプレートの導入 Xcode用AppleScriptスニペットの導入 本書添付Xcode Projectのご利用について 情報の調べ方 ヘッダーファイルの歩き方 ■2章 ウィンドウ ・ウィンドウの基礎 ウィンドウが1つか複数かで作り方が違う ウィンドウへのAppleScriptからの主な操作内容 ウィンドウから受信可能なイベント ウィンドウ関連のサンプルProjectの構造 ご注意:ハンドラの記述と接続表示 ・ウィンドウ操作例集 ウィンドウのクローズ検知 ウィンドウ内容の差し替え ウィンドウを画面中央に ウィンドウの始点座標とサイズを取得 ウィンドウを強制的に表示+最前面に ウィンドウをフルスクリーンに ウィンドウをクローズするとアプリ終了 ウィンドウの強制的なクローズ ウィンドウの重ね合わせ順を変更 色つきウィンドウ 半透明(すりガラス効果)ウィンドウ 透明ウィンドウ ・Panel/HUD Panel操作例集 PanelとHUD Panel ・Dark Mode対応 ウィンドウやメニューなどをDark Mode対応 ■3章 ボタン ・ボタンの基礎 ボタンにできること ボタンにAppleScriptからできる主な操作内容 ボタンから受信可能なイベント ボタン関連のサンプルProjectの構造 ご注意:ハンドラの記述と接続表示 ・プッシュボタン+その他 ボタンのクリック検知 複数ボタンのクリック識別 複数ボタンのイネーブル制御 複数ツールバーボタンのクリック識別 動的なボタン生成 動的なボタン生成(スクロールビュー) 動的なボタン生成/消去 外部Scriptでイベント受信 ボタンのタイトル文字に色を指定 ・ポップアップボタン ポップアップボタンの初期化 ポップアップボタンの選択項目取得 ・コンボボックス コンボボックスの初期化 コンボボックスへの入力値の追加 コンボボックスの値の取得 コンボボックスの選択項目解除 ・セグメンテッドコントロール セグメンテッドコントロールの選択識別 セグメンテッドコントロールの有効/無効制御 ・スイッチ スイッチの状態取得 スイッチへの値の設定 ・ラジオボタン ラジオボタンの選択肢検出 ラジオボタン上の任意のボタンを選択 ・チェックボックス チェックボックスの作成 チェックボックスの値設定 チェックボックスの値取得 ・ツールバーボタン ツールバー上のセグメンテッドコントロールのクリック識別 ツールバーの表示方式を変更 複数のツールバーを切り替え ・ボタンのダブルクリック検出 ダブルクリック検出のクラスを作成 ■4章 テキストフィールド ・テキストフィールドの基礎 テキストフィールドにできること AppleScriptからできる主な操作内容 ・テキストフィールド テキストフィールドの読み書き テキストフィールドの読み書き(Placeholderつき) テキストフィールドの表示/消去 テキストフィールドの編集終了検出 テキスト入力モードの強制切り替え(Hiragana/Romaji) テキストフィールド内容の省略表示処理 ・セキュアテキストフィールド セキュアテキストフィールド内容の取得 セキュアテキストフィールドにテキスト設定 ・ラッピングテキストフィールド フィールドにテキストを設定 フィールドのテキスト内容取得 フィールドに書式付きテキストを設定 フィールドの書式付きテキスト内容取得 ・ステッパー ステッパーでフィールドの値を操作 ■5章 テキストビュー ・テキストビュー テキストビューから書式つきテキスト取得 テキストビューに書式つきテキスト設定 テキストビューに行間を変更した書式つきテキスト設定 テキストビューからプレーンテキスト取得 テキストビューにプレーンテキスト設定 テキストビュー上の選択範囲の書式つきテキストを取得 テキストビュー上の選択範囲のプレーンテキストを取得 プレーンテキストを読み込んで末尾を強制表示 スタイルつきテキストを読み込んで末尾を強制表示 ■6章 デートピッカー ・デートピッカー デートピッカーの設定変更 デートピッカーへの日付設定 デートピッカーからの日付データ取得 ・カレンダーピッカー カレンダーピッカーへの日付設定 カレンダーピッカーからの日付データ取得 参考資料:カレンダーピッカー表示 ■7章 イメージビュー ・イメージビュー イメージビューへの画像読み込み イメージビューから画像保存 iOSデバイスのカメラで撮影して写真読み込み イメージビューへの画像読み込み+フィルタ(CIフィルタ) ・カラーウェル カラーウェルへの色情報設定 カラーウェルからの色情報取得(RGB値) ■8章 パスコントロール ・パスコントロール パスコントロールへのパス情報設定 パスコントロールからのパス情報取得 パス受信できるファイル種別を設定 フォルダのみ受信できるように設定 ■9章 スライダー ・スライダー スライダーの数値を複数の部品間で共有 ・サーキュラースライダー スライダーの数値を複数の部品間で共有 ・レベルインジケータ レベルインジケータで数値表示 ■10章 プログレスインジケータ ・デターミンプログレスバー プログレスバーをアニメーション表示 プログレスバーをDock Icon上に表示 ■11章 テーブルビュー ・テーブルビュー概要 テーブルビューの作成方式 ・セルベースのテーブルビュー 文字表示を行うTable View 文字+Level Indicator表示を行うTable View ポップアップ表示/編集を行うTable View さまざまな表示/編集を行うTable View 利用をおすすめしないDATASOURCE形式 ・ビューベースのテーブルビュー 文字ベースのTable View 文字+Popup MenuのTable View ■12章 アウトラインビュー ・アウトラインビュー ツリーコントローラの固定データ作成 選択中の行データ取得 画面上でツリーデータを編集 ツリーデータの表示+固定ポップアップ ツリーデータの表示+可変ポップアップ ■13章 スプリットビュー ・スプリットビュー スプリットビューの区切り方向の切り替え スプリットビューにビュー読み込み ・タブビュー タブビューの表示タブ切り替え タブビューの枠線表示変更 ■14章 メニュー ・メニュー メニューの利用 ・Dockメニュー Dockメニューの利用 ・ステータスバーメニュー ステータスバーメニューの利用 タイトルとアイコンの変更 ■15章 ポップオーバー ・ポップオーバー ポップオーバーの表示 ポップオーバーのクローズ セグメンテッドコントロールからの表示位置計算 ■16章 アドレスブックピープルピッカー ・アドレスブックピープルピッカービュー 住所録データを使用するために 住所録表示、選択データを取得 ■17章 AVキットプレイヤービュー ・AVキットプレイヤービュー ムービー再生 ムービー再生+固定秒頭出し ムービー無音部分検出+各箇所頭出し ■18章 マップキットビュー ・マップキットビュー マップビューの基礎 マップビューで住所表示 マップに指定住所をピン表示 マップの表示タイプを変更可能に ■19章 OSAキットビュー ・OSAキットビュー 簡易スクリプトエディタを作る AppleScriptを読み込んで実行 AppleScriptを読み込んで実行結果を取得 ■20章 PDFキットビュー ・PDFビュー+サムネイルビュー PDF本文とサムネイル画像の表示 ■21章 ウェブキットビュー ・Webkitビュー Webviewの基礎 Webコンテンツの表示①(Web上のコンテンツ) Webコンテンツの表示②(localのhtmlまたは文字列) ・インターネット接続確認 インターネット接続確認 ・Webコンテンツのダウンロード Web上のコンテンツのダウンロード ■22章 サービス ・サービス サービスの基礎 サービスを構成するXcodeプロジェクト AppleScriptで作ったサービスを呼び出す ■23章 ドキュメントベースアプリ ・ドキュメントベースアプリ基礎 ドキュメントベースアプリの基礎 ・ドキュメントベースアプリ解説 ドキュメントベースアプリを動かす 書類オープン→ボタンクリック動作ログ 内部のイベント処理Scriptの所在 書類オープン時の処理部分 書類保存時の処理部分 Document Based Appの開発/動作中にはメモリ残量に注意 ■24章 外部アプリコントロール ・外部アプリ操作 外部アプリ操作の基礎 外部アプリ操作プロジェクトの設定 外部アプリ操作Scriptを呼ぶ ・外部アプリ操作(Sandbox版) Sandbox化アプリ内の外部アプリ操作設定① ■25章 スクリプタブル化 ・スクリプタブル化の基礎 スクリプタブルアプリの基礎 ・AppleScript用語辞書(sdef)の作成 まずは、実際のAppleScript用語辞書を観察しよう! AppleScript用語辞書の内容をながめる AppleScript用語辞書の構成 AppleScript用語辞書/コマンドの構成 アプリの各suiteを構成する項目 参考資料:主要アプリのApple Events Code コマンドを作る上で決めるべき項目 1つのコマンドを持つ最低限のsdefを作成 ・Xcode Projectへのsdef追加 Xcode Project上のAppleScript対応作業 AppleScriptから呼び出すプログラムを追加 コマンド実行部分の処理 ・実際に外部から呼んで確認 Applicationのpropertiesを取得 "test command"コマンドを実行 一般的なrecordを返す アプリ予約語のラベル属性値と一般的なrecordを返す ■26章 アプリアイコン ・Dock上のアイコンを変更 Dockアイコンを動的に変更 ・Dockアイコンにバッジを表示 Dockアイコンにバッジを表示 ■27章 ダイアログ ・display dialogコマンドで文字入力 display dialogコマンドで基礎的な文字入力 ・文字入力ダイアログ+キャレット制御 文字入力ダイアログ+キャレット制御 ■28章 アニメーション ・Core Animationによるアニメーション表示 Core Animationのアニメーションレイヤーを設定 Core Animationによるアニメーション表示 ■29章 その他 ・Xcodeログ出力 Xcodeログエリアへのログ出力 ・About画面のカスタマイズ Credits.rtfの作成 Aboutメニューに自動表示 AboutメニューのCopyrights表記例 ・イベントハンドラをログ表示 Xcode上で各種イベントハンドラをログ表示 ・ドロップレット Xcode上で記述するドロップレット ・リアルタイムキースキャン リアルタイムキースキャン ・バンドル 名前とタイプからバンドル内のファイル取得 ・ローカライズ 各言語ごとのメッセージを出力 GUIをローカライズ ・タイマー割り込み AppleScriptObjCにおけるタイマー ・複数AppleScript間のデータ共有 AppDelegateからサブAppleScriptを呼び出す Xcode Project内の複数のAppleScript間でデータを共有 サブ側からメイン側のプロパティにアクセス ・スクリプトライブラリ組み込み スクリプトライブラリをXcode Projectに入れる 本アプリの実行結果 ・ティッカー表示 ウィンドウ上にティッカー表示 ・マウスカーソルの変更 マウスカーソルの変更 ■30章 本書で扱わなかった部品 ・本書で扱わなかったGUI部品 NSCollectionView NSBrowser ■あとがき、奥付