← Return to the Ohanaware App Kit Page

What is covered by the App Kit?

Below is not a complete list, just what we've written documentation for at the time of releasing version 1.0. Complete documentation is included with the package. This should give a fair idea of the depth that is covered by the Ohanaware App Kit.

Animation

  • NSControlAnimator
  • CoreAnimation
  • Canvas animation
  • ScrollView Animation
  • Window animation
  • NSShowAnimationEffect

Application object

  • Application Icon
  • Display Version
  • Display Name
  • Recent Items Menu
  • Dock Badges
  • Sudden termination
  • Automatic Windows menu
  • Apple About Box
  • Multiple files dropped onto App icon
  • Application is hidden or unhidden
  • Launch arguments
  • Reading properties from app's plist
  • Bounce icon in dock
  • Handling URL schemas

Apps that are running

  • List of running applications
  • Current Application
  • Getting information
  • Interacting with

App Nap

  • Controlling App Nap

App Report

  • What is App Report?
  • Integrating into an app

App Sandbox

  • Determining if the application is Sandboxed
  • Window Restoration
  • Recent Items Menu
  • Security-Scoped Bodgemarks
  • Launching included Applications
  • Interface to choose photos/videos
  • Using shared memory
  • Apple Script in a Sandboxed application

Apple Script

  • Apple Script in a Sandboxed application
  • Apple Script in NON-Sandboxed app
  • Execute shell commands with authorization

Controls

  • CoreAnimation
  • Precision scrolling
  • Scrolling inertia to provide a bounce back
  • Capturing contents as an image
  • Capturing contents as PDF
  • Setting a shadow on a control
  • Button
    • Setting icons
  • Canvas
    • Configuring Delegate
    • Rotation gesture
    • Magnify gesture
    • Smart Magnify gesture
    • A Swipe style gesture
    • Adding animation
    • Custom Focus Ring
  • Color Well
    • Adding a Color Well
    • Events
    • Methods
    • Properties
  • Image Well
    • Removing the border
    • Auto resizing images
    • Setting a system image
  • Listbox
    • Transparent background
    • Drawing system images.
    • Alternating row colors
    • Invalidate row
    • ScrollView
  • NSControlAnimator
    • Animating movement of controls
    • Methods
    • Shared Properties
    • Timing Functions
  • Popup Menus
    • Action menu
    • Setting icons
    • Setting the style
    • Setting tool tips on items
  • Scrollbars
    • Overlay "Style" Scrollbar
    • Events
    • Methods
    • Properties
    • Style options
  • ScrollView
    • Adding a scrollView
    • Using with a Canvas
    • Using with a Listbox
    • Selection Rect
    • Methods
    • Properties
  • Sliders
    • Slider Style
  • Search field
    • Adding a Search Field
    • Events
    • Properties
    • searchActionOptions
  • Segmented Controls
    • Setting icons
    • Image scaling
    • Selected Item Index
  • Text Areas
    • Style controls
    • Auto link handling
    • Auto dash handling
    • Auto Quote handling
    • Auto text replacement
    • Loading RTFD data
    • Saving RTFD data
    • Handling images
  • Visual Effect Views
    • Adding to a window
    • Adding to a canvas
    • Function description
    • Additional Functions
    • Materials
    • Blending Modes
  • Window Splitter
    • Adding to a Window
    • Events
    • Properties
    • Enums

Email

  • Create a text based e-mail
  • Create a "Feedback" e-mail
  • Create an e-mail with a file attachment

Errors

  • Handling NSErrors
  • Reporting exceptions
  • Debugging a NSException
  • Finding crash reports

Files

  • File Icons
  • File icons from name
  • Finding an App by bundle identifier
  • Opening a file in a specific app
  • Creating a Symbolic Link
  • Creating a Hard Link
  • Creating a Bookmark file (Alias)
  • Sending to Trash/Bin
  • Revealing in the Finder
  • Getting display type from a file
  • Atomic file saving
  • Spotlight data
  • UTI information
  • Xattrs
  • Finder Tags

Fonts

  • System Font Name
  • System Font Sizes
  • Font Weights
  • Replicating older OSes
  • WYSIWYG font menu

Graphics

  • Clipping to a vector path
  • Theme colors
  • Possible colors
  • Tiling a texture
  • Dropshadows
  • Transparency Layers
  • Drawing system supplied icons
  • Gradients
  • Erasing content

Images

  • Different image objects
  • Drawing CGImages & NSImages
  • Converting between image objects
  • System supplied images
  • Image names
  • Loading images with CoreGraphics
  • Reading image meta data
  • Writing images & meta data.
  • Quickly getting the thumbnail from an image
  • Getting actual bytes of an image
  • ICNS, ICO or Tiff for multi-image retina assets
  • Creating a multi-image file
  • Creating a HEIC image file

Menus

  • Setting icons
  • Alternative items
  • Recent Items Menu
  • Close All menu
  • Automatic Windows menu
  • Full Screen MenuItem
  • About this application

Notifications

  • Handling OS issued Notifications.
  • Notifications between Xojo Objects
  • User visible Notifications

Preferences system.

  • Supported Data Types
  • Saving Preferences
  • Reading Preferences
  • Saving & Restoring Window locations
  • Removing a Preference
  • Removing all preferences for an app

Property Lists

  • Reading plist files
  • Writing plist files
  • Reading plist data
  • Creating plist data

Save Dialog

  • Adding a NSSavePanel to your app
  • Adding custom options

Shared Memory

  • Setting up with the parent/controller app
  • Accessing from the helper application

Sharing Services

  • Building a list of services
  • Sharing the users data
  • Handling the sharing delegate
  • Did the share fail or succeed?
  • Attaching to the window

System Information

  • OS Version
  • Testing OS Version
  • Testing OS functionality
  • Installed memory
  • Uptime
  • Computer is to enter or exit sleep
  • Disks are connected or removed
  • Responding to the system theme change.
  • How many active cores are available
  • Thermal state of the machine
  • Computer name

Toolbars

  • Controls on the Toolbar
  • Customizing the appearance
  • Using system icons

User

  • Username
  • User's name
  • User's Language
  • Media Browser

Windows

  • Built-in animation
  • Customizing the appearance
  • Auto Tabbed Windows
  • Obscured from the users view
  • Moved screen
  • Clamping window size to the screen
  • Entering Full Screen
  • Customizing the full screen experience
  • Exiting Full Screen
  • Started to move
  • About to Resize
  • Adjusting the location of sheet windows
  • App Store style window example
  • Adding a Visual Effect View to a window
  • Automatically restoring when app re-opens
  • Making a Pallet window that auto-reopens and recalls it's position

Zip Files

  • Creating Zip files
  • Extracting Zip Files
  • Exploring a Zip file
  • Reading a file inside a zip