Re: brand new ebook about AppleScriptObjC on Xcode
Re: brand new ebook about AppleScriptObjC on Xcode
- Subject: Re: brand new ebook about AppleScriptObjC on Xcode
- From: Takaaki Naganoya via applescriptobjc-dev <email@hidden>
- Date: Wed, 30 Jul 2025 15:22:10 +0900
Hi Michael,
Sorry, I didn't know about your reply.
I made a simple sampler PDF to check translation.
https://www.dropbox.com/scl/fi/jok04gi6yaueehc6ckxge/book97_sampler.pdf?rlkey=zwgxv9mss0dw2rsv4tkspp8od&st=cpz52siv&dl=1
Can you try this?
Takaaki Naganoya
> 2025/07/08 23:33、email@hiddenのメール:
>
> Hi Takaaki,
>
> I’d buy this in an instant if it were in English. Do you have a sample
> chapter to see whether it’s usable with a translation app?
>
> Thanks,
> Michael
>
>> On Jul 6, 2025 at 21:12:00, Takaaki Naganoya via applescriptobjc-dev wrote:
>> Hi,
>
>
>
>
>> I wrote brand-new ebook about AppleScriptObjC (AppleScript GUI App on Xcode)
>> in Japanese.
>
>
>> AppleScript+Xcode GUI App Source Collection (Includes 170 Xcode Projects)
>
>
>> https://piyomarusoft.booth.pm/items/7090396
>
>
>> For those who want to develop macOS GUI apps using AppleScript and Xcode
>> (AppleScriptObjC). 382-page PDF + Zip Archive
>
>
>> This book puts an end to the fragmented information on the web by providing
>> 170 practical Xcode projects that are guaranteed to work. These projects
>> have been confirmed to build as Universal Binaries that run on both Apple
>> Silicon and Intel Macs. We have minimized complex jargon and technical
>> explanations to focus thoroughly on “code that works.”
>
>
>> Through 30 chapters of simple and easy-to-understand examples covering the
>> manipulation of major GUI components, you can efficiently acquire practical
>> know-how cultivated through Mac App Store app development. There’s no longer
>> a need to rely on uncertain code generated by AI like ChatGPT.
>
>
>> Aimed at those who understand the basics of AppleScript and Xcode, this book
>> will be a one-of-a-kind “working blueprint” to take your Mac app development
>> to the next level.
>
>
>
>
>> Table of Contents
>
>
>> ■ Chapter 1: Let’s Get Started!
>
>
>> •Installing Xcode
>> •Installing Script Debugger
>> •Importing AppleScript Project Templates
>> •Importing AppleScript Snippets for Xcode
>> •About Using the Included Xcode Projects
>> •How to Look Up Information
>> •Navigating Header Files
>
>
>> ■ Chapter 2: Windows
>
>
>> •Window Basics
>
>
>> ◦Different Creation Methods for Single vs. Multiple Windows
>> ◦Main Operations on Windows from AppleScript
>> ◦Events Receivable from Windows
>> ◦Structure of Window-Related Sample Projects
>> ◦Note: Handler Description and Connection Display
>
>
>> •Window Operation Examples
>
>
>> ◦Detecting Window Close
>> ◦Replacing Window Content
>> ◦Centering a Window on the Screen
>> ◦Getting Window Origin Coordinates and Size
>> ◦Forcing a Window to Display + Bring to Front
>> ◦Making a Window Fullscreen
>> ◦Quitting the App When a Window is Closed
>> ◦Forcibly Closing a Window
>> ◦Changing Window Stacking Order
>> ◦Colored Windows
>> ◦Translucent (Frosted Glass Effect) Windows
>> ◦Transparent Windows
>
>
>> •Panel/HUD Panel Operation Examples
>
>
>> ◦Panels and HUD Panels
>
>
>> •Dark Mode Support
>
>
>> ◦Making Windows, Menus, etc. Dark Mode Compatible
>
>
>> ■ Chapter 3: Buttons
>
>
>> •Button Basics
>
>
>> ◦What Buttons Can Do
>> ◦Main Operations on Buttons from AppleScript
>> ◦Events Receivable from Buttons
>> ◦Structure of Button-Related Sample Projects
>> ◦Note: Handler Description and Connection Display
>
>
>> •Push Buttons + Others
>
>
>> ◦Detecting Button Clicks
>> ◦Identifying Clicks on Multiple Buttons
>> ◦Controlling the Enabled State of Multiple Buttons
>> ◦Identifying Clicks on Multiple Toolbar Buttons
>> ◦Dynamic Button Creation
>> ◦Dynamic Button Creation (Scroll View)
>> ◦Dynamic Button Creation/Deletion
>> ◦Receiving Events with an External Script
>> ◦Specifying Color for Button Title Text
>
>
>> •Popup Buttons
>
>
>> ◦Initializing Popup Buttons
>> ◦Getting the Selected Item from a Popup Button
>
>
>> •Combo Boxes
>
>
>> ◦Initializing Combo Boxes
>> ◦Adding Input Values to a Combo Box
>> ◦Getting the Value of a Combo Box
>> ◦Clearing the Selection of a Combo Box
>
>
>> •Segmented Controls
>
>
>> ◦Identifying Selection in a Segmented Control
>> ◦Enabling/Disabling a Segmented Control
>
>
>> •Switches
>
>
>> ◦Getting the State of a Switch
>> ◦Setting the Value of a Switch
>
>
>> •Radio Buttons
>
>
>> ◦Detecting the Selected Radio Button
>> ◦Selecting an Arbitrary Radio Button
>
>
>> •Checkboxes
>
>
>> ◦Creating Checkboxes
>> ◦Setting the Value of a Checkbox
>> ◦Getting the Value of a Checkbox
>
>
>> •Toolbar Buttons
>
>
>> ◦Identifying Clicks on a Segmented Control in a Toolbar
>> ◦Changing the Toolbar Display Mode
>> ◦Switching Between Multiple Toolbars
>
>
>> •Detecting Button Double-Clicks
>
>
>> ◦Creating a Class for Double-Click Detection
>
>
>> ■ Chapter 4: Text Fields
>
>
>> •Text Field Basics
>
>
>> ◦What Text Fields Can Do
>> ◦Main Operations from AppleScript
>
>
>> •Text Fields
>
>
>> ◦Reading from and Writing to a Text Field
>> ◦Reading/Writing with a Placeholder
>> ◦Showing/Hiding a Text Field
>> ◦Detecting the End of Editing in a Text Field
>> ◦Forcing Text Input Mode (Hiragana/Romaji)
>> ◦Truncating Text Field Content
>
>
>> •Secure Text Fields
>
>
>> ◦Getting the Content of a Secure Text Field
>> ◦Setting Text in a Secure Text Field
>
>
>> •Wrapping Text Fields
>
>
>> ◦Setting Text to a Field
>> ◦Getting the Text Content of a Field
>> ◦Setting Formatted Text to a Field
>> ◦Getting the Formatted Text Content of a Field
>
>
>> •Steppers
>
>
>> ◦Manipulating a Field’s Value with a Stepper
>
>
>> ■ Chapter 5: Text Views
>
>
>> •Text Views
>
>
>> ◦Getting Formatted Text from a Text View
>> ◦Setting Formatted Text in a Text View
>> ◦Setting Formatted Text with Modified Line Spacing in a Text View
>> ◦Getting Plain Text from a Text View
>> ◦Setting Plain Text in a Text View
>> ◦Getting the Formatted Text of the Selection in a Text View
>> ◦Getting the Plain Text of the Selection in a Text View
>> ◦Loading Plain Text and Forcing Scroll to the End
>> ◦Loading Styled Text and Forcing Scroll to the End
>
>
>> ■ Chapter 6: Date Pickers
>
>
>> •Date Pickers
>
>
>> ◦Changing Date Picker Settings
>> ◦Setting the Date in a Date Picker
>> ◦Getting Date Data from a Date Picker
>
>
>> •Calendar Pickers
>
>
>> ◦Setting the Date in a Calendar Picker
>> ◦Getting Date Data from a Calendar Picker
>> ◦Reference: Displaying a Calendar Picker
>
>
>> ■ Chapter 7: Image Views
>
>
>> •Image Views
>
>
>> ◦Loading an Image into an Image View
>> ◦Saving an Image from an Image View
>> ◦Taking a Photo with an iOS Device Camera and Loading It
>> ◦Loading an Image into an Image View + Applying a Filter (CI Filter)
>
>
>> •Color Wells
>
>
>> ◦Setting Color Information in a Color Well
>> ◦Getting Color Information from a Color Well (RGB Values)
>
>
>> ■ Chapter 8: Path Controls
>
>
>> •Path Controls
>
>
>> ◦Setting Path Information in a Path Control
>> ◦Getting Path Information from a Path Control
>> ◦Setting File Types that Can Be Received
>> ◦Setting to Receive Folders Only
>
>
>> ■ Chapter 9: Sliders
>
>
>> •Sliders
>
>
>> ◦Sharing a Slider’s Value Among Multiple Components
>
>
>> •Circular Sliders
>
>
>> ◦Sharing a Slider’s Value Among Multiple Components
>
>
>> •Level Indicators
>
>
>> ◦Displaying a Numerical Value with a Level Indicator
>
>
>> ■ Chapter 10: Progress Indicators
>
>
>> •Determinate Progress Bars
>
>
>> ◦Animating a Progress Bar
>> ◦Displaying a Progress Bar on the Dock Icon
>
>
>> ■ Chapter 11: Table Views
>
>
>> •Table View Overview
>
>
>> ◦Methods for Creating Table Views
>
>
>> •Cell-Based Table Views
>
>
>> ◦Table View for Displaying Text
>> ◦Table View for Displaying Text + Level Indicators
>> ◦Table View for Displaying/Editing with a Popup
>> ◦Table View for Various Display/Editing
>> ◦DATASOURCE Format Not Recommended for Use
>
>
>> •View-Based Table Views
>
>
>> ◦Text-Based Table View
>> ◦Table View with Text + Popup Menu
>
>
>> ■ Chapter 12: Outline Views
>
>
>> •Outline Views
>
>
>> ◦Creating Fixed Data for a Tree Controller
>> ◦Getting the Data of the Selected Row
>> ◦Editing Tree Data on the Screen
>> ◦Displaying Tree Data + Fixed Popup
>> ◦Displaying Tree Data + Variable Popup
>
>
>> ■ Chapter 13: Split Views
>
>
>> •Split Views
>
>
>> ◦Switching the Divider Direction of a Split View
>> ◦Loading a View into a Split View
>
>
>> •Tab Views
>
>
>> ◦Switching the Displayed Tab in a Tab View
>> ◦Changing the Border Display of a Tab View
>
>
>> ■ Chapter 14: Menus
>> •Menus
>
>
>> ◦Using Menus
>
>
>> •Dock Menus
>
>
>> ◦Using Dock Menus
>
>
>> •Status Bar Menus
>
>
>> ◦Using Status Bar Menus
>> ◦Changing the Title and Icon
>
>
>> ■ Chapter 15: Popovers
>
>
>> •Popovers
>
>
>> ◦Displaying a Popover
>> ◦Closing a Popover
>> ◦Calculating Display Position from a Segmented Control
>
>
>> ■ Chapter 16: Address Book People Picker
>
>
>> •Address Book People Picker View
>
>
>> ◦To Use Address Book Data
>> ◦Displaying the Address Book and Getting Selected Data
>
>
>> ■ Chapter 17: AVKit Player View
>
>
>> •AVKit Player View
>
>
>> ◦Movie Playback
>> ◦Movie Playback + Cueing to a Fixed Second
>> ◦Detecting Silent Parts in a Movie + Cueing to Each Location
>
>
>> ■ Chapter 18: MapKit View
>
>
>> •MapKit View
>
>
>> ◦Map View Basics
>> ◦Displaying an Address in a Map View
>> ◦Displaying a Pin for a Specified Address on the Map
>> ◦Making the Map Display Type Changeable
>
>
>> ■ Chapter 19: OSAKit View
>
>
>> •OSAKit View
>
>
>> ◦Creating a Simple Script Editor
>> ◦Loading and Executing AppleScript
>> ◦Loading AppleScript and Getting the Execution Result
>
>
>> ■ Chapter 20: PDFKit View
>
>
>> •PDF View + Thumbnail View
>
>
>> ◦Displaying PDF Content and Thumbnail Images
>
>
>> ■ Chapter 21: WebKit View
>
>
>> •WebKit View
>
>
>> ◦Web View Basics
>> ◦Displaying Web Content ① (Online Content)
>> ◦Displaying Web Content ② (Local HTML or String)
>
>
>> •Checking Internet Connection
>
>
>> ◦Checking Internet Connection
>
>
>> •Downloading Web Content
>
>
>> ◦Downloading Web Content
>
>
>> ■ Chapter 22: Services
>
>
>> •Services
>
>
>> ◦Services Basics
>> ◦Xcode Project that Constitutes a Service
>> ◦Calling a Service Created with AppleScript
>
>
>> ■ Chapter 23: Document-Based Apps
>
>
>> •Document-Based App Basics
>
>
>> ◦Basics of Document-Based Apps
>
>
>> •Explanation of Document-Based Apps
>
>
>> ◦Running a Document-Based App
>> ◦Document Open → Button Click Action Log
>> ◦Location of Internal Event Handling Scripts
>> ◦Processing When a Document is Opened
>> ◦Processing When a Document is Saved
>> ◦Pay Attention to Remaining Memory During Development/Operation of a
>> Document-Based App
>
>
>> ■ Chapter 24: External App Control
>
>
>> •External App Operation
>
>
>> ◦Basics of External App Operation
>> ◦Settings for an External App Operation Project
>> ◦Calling an External App Operation Script
>
>
>> •External App Operation (Sandboxed Version)
>
>
>> ◦External App Operation Settings within a Sandboxed App ①
>
>
>> ■ Chapter 25: Making Apps Scriptable
>
>
>> •Basics of Making Apps Scriptable
>
>
>> ◦Basics of Scriptable Apps
>
>
>> •Creating an AppleScript Dictionary (sdef)
>
>
>> ◦First, Let’s Observe an Actual AppleScript Dictionary!
>> ◦A Look at the Contents of an AppleScript Dictionary
>> ◦Structure of an AppleScript Dictionary
>> ◦Structure of an AppleScript Dictionary/Command
>> ◦Items that Constitute Each Suite of an App
>> ◦Reference: Apple Events Codes of Major Apps
>> ◦Items to Decide When Creating a Command
>> ◦Creating a Minimal sdef with One Command
>
>
>> •Adding an sdef to an Xcode Project
>
>
>> ◦AppleScript Support Work in an Xcode Project
>> ◦Adding a Program to be Called from AppleScript
>> ◦Processing the Command Execution Part
>
>
>> •Calling from an External Source for Confirmation
>
>
>> ◦Getting Application Properties
>> ◦Executing the “test command” Command
>> ◦Returning a General Record
>> ◦Returning App-Reserved Label Attribute Values and a General Record
>
>
>> ■ Chapter 26: App Icon
>
>
>> •Changing the Icon on the Dock
>
>
>> ◦Dynamically Changing the Dock Icon
>
>
>> •Displaying a Badge on the Dock Icon
>
>
>> ◦Displaying a Badge on the Dock Icon
>
>
>> ■ Chapter 27: Dialogs
>
>
>> •Text Input with the display dialog Command
>
>
>> ◦Basic Text Input with the display dialog Command
>
>
>> •Text Input Dialog + Caret Control
>
>
>> ◦Text Input Dialog + Caret Control
>
>
>> ■ Chapter 28: Animation
>
>
>> •Displaying Animation with Core Animation
>
>
>> ◦Setting up a Core Animation Layer
>> ◦Displaying Animation with Core Animation
>
>
>> ■ Chapter 29: Miscellaneous
>
>
>> •Xcode Log Output
>
>
>> ◦Outputting Logs to the Xcode Log Area
>
>
>> •Customizing the About Screen
>
>
>> ◦Creating Credits.rtf
>> ◦Automatic Display in the About Menu
>> ◦Copyright Notation Example in the About Menu
>
>
>> •Logging Event Handlers
>
>
>> ◦Logging Various Event Handlers in Xcode
>
>
>> •Droplets
>
>
>> ◦Writing a Droplet in Xcode
>
>
>> •Real-time Key Scanning
>
>
>> •Bundles
>
>
>> ◦Getting a File in a Bundle by Name and Type
>
>
>> •Localization
>
>
>> ◦Outputting Messages for Each Language
>> ◦Localizing the GUI
>
>
>> •Timer Interrupts
>
>
>> ◦Timers in AppleScriptObjC
>
>
>> •Data Sharing Between Multiple AppleScripts
>
>
>> ◦Calling a Sub-AppleScript from AppDelegate
>> ◦Sharing Data Between Multiple AppleScripts in an Xcode Project
>> ◦Accessing Properties of the Main Script from a Sub-Script
>
>
>> •Incorporating a Script Library
>
>
>> ◦Putting a Script Library into an Xcode Project
>> ◦Execution Result of This App
>
>
>> •Ticker Display
>
>
>> ◦Displaying a Ticker on a Window
>
>
>> •Changing the Mouse Cursor
>
>
>
>
>> ■ Chapter 30: Components Not Covered in This Book
>
>
>
>
>> •GUI Components Not Covered in This Book
>
>
>> ◦NSCollectionView
>> ◦NSBrowser
>
>
>
>
>> --
>> Takaaki Naganoya
>> email@hidden
>> http://piyocast.com/as/
>
>
>
>
>
>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> applescriptobjc-dev mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>
>
>> This email sent to email@hidden
>
>
>
>
>
>
>
--
Takaaki Naganoya
email@hidden
http://piyocast.com/as/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
applescriptobjc-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden