Apple Developer Tools

Last updated
Apple Developer Tools
Developer(s) Apple Inc.
Stable release
3.1 (1096) / April 2008
Operating system macOS
Type IDE
Website Apple Developer

The Apple Developer Tools are a suite of software tools from Apple to aid in making software dynamic titles for the macOS and iOS platforms. The developer tools were formerly included on macOS install media, but are now exclusively distributed over the Internet. As of macOS 10.12, Xcode is available as a free download from the Mac App Store.

Contents

Applications

Applet Launcher

A graphical interface for JavaScript's Plug-in, which aids developers by demonstrating how Java applets perform on macOS. Provides tools to adjust the performance, behavior and user experience in applets in development.

Audio Unit Lab

A graphic presentation of audio units helping software developers to examine their results in decibels. AU Lab can be used to test audio units, conduct live mixing, and playback of audio content. Audio units are controlled visually with the audio unit's graphic interface and touch screen.[ citation needed ]

Computer Hardware Understanding Development Tools

A set of software tools, collectively Computer Hardware Understanding Development Tools (CHUD Tools) measure software performance on macOS, to aid in optimizing. Also provides hardware system benchmarks.

Core Image Fun House

Used in testing Core Image units, which function similar to Adobe Photoshop filters. Each has a specific action, with parameters customize the action. Showcases Core Image, a technology introduced in Mac OS X 10.4, supported by newer graphic hardware.

CrashReporterPrefs

A developer utility for setting report parameters for Apple's Crash Reporter application.

FileMerge

A staple of macOS's developer tools since the days of NeXTSTEP, FileMerge graphically compares two or more versions of a file. True to its name, FileMerge allows the user to easily merge the two or more versions into one file. The utility is often used to track changes to source code.

macOS's opendiff command provides the ability to launch FileMerge from the command line. The -ancestor parameter can be used for three-way merging.

Help Indexer

Creates an index file for the macOS built-in Help Viewer.

icns Browser

Views the resources for an .icns file, displaying the Mini, Small, Large, Huge, Thumbnail & Tile sizes in all color depths and masks.

Icon Composer

Icon Composer was an icon editor that does not have any editing features other than composing Apple Icon Image files and Windows ICO files. External editors must do all the image manipulation, then the results may be imported into the converter to create the finished icon. As of Xcode 8.2, Icon Composer is no longer available in Additional Tools, as it cannot create high resolution icons. Apple recommends using the command-line utility iconutil, which ships with macOS. [1]

Instruments

Instruments is a GUI for tracing framework DTrace from Sun's OpenSolaris. It is used to profile time usage, memory allocations, system activity, call trace analysis, GPU performance analysis, energy logging (on iOS devices) etc. [2]

Jar Bundler

Java tool that aids in packaging an application's component files into a single double-clickable application. Properties can be modified to optimize the code.

MallocDebug

Assistance for assessing memory usage and detecting memory leaks in programs.

Assesses an application's memory usage by monitoring a user as they interact with an application, which allows MallocDebug to build a memory profile that unfortunately is limited in size.

OpenGL Driver Monitor

Real time access to the inner workings of the graphics processing unit. Runs locally or over a network using Bonjour which is less likely to interfere with the statistics it is gathering with the exception of some disk fragmentation devices.

OpenGL Profiler

This tool assists developers in debugging and optimizing OpenGL usage under macOS.

Supported features:

OpenGL Shader Builder

An integrated environment to develop and debug OpenGL GPU programs (Shaders) under macOS.

Features supported by OpenGL Shader Builder:

One notable feature is 'Export to Xcode'. A sample Xcode project is created with C source code to initialize OpenGL (using the GLUT library) and run the shader program.

Note that this program is no longer recommended for editing GLSL shaders as "GLSLEditorSample," available as an example program, is generally regarded as superior.

PackageMaker

Creates application .pkg installer bundles for installing applications using the Installer application.

Pixie

A magnifying glass application for magnifying small sections of the computer's screen, centered around the mouse cursor, giving the user a detailed view of the screen, as well as the pixel coordinates of the mouse. Provides several levels of zoom, "locking" the image under the mouse for closer examination, and saves the magnified image one of several formats. Helps ensure visual elements are aligned precisely.

Property List Editor

Edits application preference plist files. As of Xcode 4, Property List Editor is no longer included as a separate application and all editing of plist files is done within Xcode. The last stand-alone version was version 5.3 in Xcode 3.2.6.

Quartz Composer

A visual programming language for processing and rendering data. Using OpenGL, Core Image, Core Video, and other technologies to build an API and serves as a simple visual programming paradigm. Quartz Composer is a core technology of the macOS. Quartz Composer creations work in any QuickTime-aware application (beginning with Mac OS X 10.4), from the Quartz Composer application, or embedded into Cocoa or Carbon applications.

Quartz Composer has many similarities to Max/MSP although its primary usage is for graphical rather than audio processing. Offers the ability to construct interactive video compositions that react to audio or MIDI signals and can be played from any QuickTime aware application.

Pierre-Olivier Latour originally developed the predecessor to Quartz Composer under the name PixelShox Studio. [3]

A resurgence in interest in Quartz Composer has come about, as the Facebook design team has been showcasing their utilization of the program to prototype interactions that they couldn't have otherwise depicted with flat mockups in Photoshop. [4]

Repeat After Me

Optimizes the performance of the built-in text-to-speech software for macOS. Tests the operating system's phonemic translation engine, creates graphs of the generated tone, to visually adjust the intonation, and records samples for reference.

Shark

Shark is a profiler, used by software developers to optimize software programs on macOS. It samples software at set time intervals (or driven by hardware performance monitors events) taking snapshots of the stack, showing the functions which require more of the application's resources. Includes tools to analyze the data produced by a sampling run. Since Mac OS X 10.7, it is not on the Apple site any more and was replaced by Instruments.

Spin Control

Spin Control is a performance tool used for monitoring hang activity in software programs. The program gets its name from the spinning pinwheel on macOS. [5]

Discontinued as of Xcode 4.2.

Thread Viewer

Thread Viewer is a performance tool which graphically displays activity across a range of threads. It provides color-coded time-line views of thread activity and can display backtraces of activity at specific points in time. It was merged in Instruments app, and can be accessed via "System Trace" instrument.

Xcode

Xcode is an integrated development environment (IDE) for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. Xcode supports developing source code for the programming languages C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit (Rez), and Swift, with a variety of programming models, including but not limited to Cocoa, Carbon, and Java.

Related Research Articles

Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.

<span class="mw-page-title-main">GNUstep</span> Open source widget toolkit and application development tools

GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.

Carbon was one of two primary C-based application programming interfaces (APIs) developed by Apple for the macOS operating system. Carbon provided a good degree of backward compatibility for programs that ran on Mac OS 8 and 9. Developers could use the Carbon APIs to port (“carbonize”) their “classic” Mac applications and software to the Mac OS X platform with little effort, compared to porting the app to the entirely different Cocoa system, which originated in OPENSTEP. With the release of macOS 10.15 Catalina, the Carbon API was officially discontinued and removed, leaving Cocoa as the sole primary API for developing macOS applications.

AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system automation tools. The term "AppleScript" may refer to the language itself, to an individual script written in the language, or, informally, to the macOS Open Scripting Architecture that underlies the language.

<span class="mw-page-title-main">WebObjects</span> Java web application server and framework originally developed by NeXT Software

WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

<span class="mw-page-title-main">Xcode</span> IDE including tools for developing software for Apple platforms

Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 15, released on September 18, 2023, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools which enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.

<span class="mw-page-title-main">Macintosh Programmer's Workshop</span> Software development package for the Classic Mac OS

Macintosh Programmer's Workshop (MPW) is a software development environment for the Classic Mac OS operating system, written by Apple Computer. For Macintosh developers, it was one of the primary tools for building applications for System 7.x and Mac OS 8.x and 9.x. Initially MPW was available for purchase as part of Apple's professional developers program, but Apple made it a free download after it was superseded by CodeWarrior. On Mac OS X it was replaced by the Project Builder IDE, which eventually became Xcode.

<span class="mw-page-title-main">Mac OS X Tiger</span> Fifth major release of Mac OS X

Mac OS X Tiger is the 5th major release of macOS, Apple's desktop and server operating system for Mac computers. Tiger was released to the public on April 29, 2005 for US$129.95 as the successor to Mac OS X 10.3 Panther. Included features were a fast searching system called Spotlight, a new version of the Safari web browser, Dashboard, a new 'Unified' theme, and improved support for 64-bit addressing on Power Mac G5s. Mac OS X 10.4 Tiger also had a number of additional features that Microsoft had spent several years struggling to add to Windows with acceptable performance, such as fast file searching and improved graphics processing.

Core Image is a pixel-accurate, near-realtime, non-destructive image processing technology in Mac OS X. Implemented as part of the QuartzCore framework of Mac OS X 10.4 and later, Core Image provides a plugin-based architecture for applying filters and effects within the Quartz graphics rendering layer. The framework was later added to iOS in iOS 5.

Quartz Compositor is the display server in macOS. It is responsible for presenting and maintaining rasterized, rendered graphics from the rest of the Core Graphics framework and other renderers in the Quartz technologies family.

<span class="mw-page-title-main">Quartz Composer</span> Node-based visual programming language

Quartz Composer is a node-based visual programming language provided as part of the Xcode development environment in macOS for processing and rendering graphical data.

Carbide.c++ is a software development tool for C++ development on Symbian OS. It is used to develop phones that use the OS, as well as applications that run on those phones. It is based on the Eclipse IDE platform enhanced with extra plug-ins to support Symbian OS development. The product is provided by the Symbian Foundation under an open source model. In April 2009, Nokia transferred Carbide.c++ and many other software developer tools to the Symbian Foundation. Members of the Symbian community now manage and contribute code to the Carbide.c++ product.

<span class="mw-page-title-main">Instruments (software)</span>

Instruments is an application performance analyzer and visualizer by Apple Inc., integrated in Xcode 3.0 and later versions of Xcode. It is built on top of the DTrace tracing framework from OpenSolaris, which was ported to Mac OS X v10.5 and which is available in all following versions of macOS.

iOS SDK Software development kit for iOS

The iOS SDK, formerly the iPhone SDK, is a software development kit (SDK) developed by Apple Inc. The kit allows for the development of mobile apps on Apple's iOS and iPadOS operating systems.

The Java Development Kit (JDK) is a distribution of Java technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java Application Programming Interface (API). It is derivative of the community driven OpenJDK which Oracle stewards. It provides software for working with Java applications. Examples of included software are the Java virtual machine, a compiler, performance monitoring tools, a debugger, and other utilities that Oracle considers useful for Java programmers.

<span class="mw-page-title-main">Metal (API)</span> iOS, macOS, and tvOS graphics rendering API

Metal is a low-level, low-overhead hardware-accelerated 3D graphic and compute shader API created by Apple, debuting in iOS 8. Metal combines functions similar to OpenGL and OpenCL in one API. It is intended to improve performance by offering low-level access to the GPU hardware for apps on iOS, iPadOS, macOS, and tvOS. It can be compared to low-level APIs on other platforms such as Vulkan and DirectX 12.

References

  1. Questions. "macos - Where did Icon Composer go from Xcode? - Ask Different". Apple.stackexchange.com. Retrieved 2022-03-21.
  2. "Track CPU core and thread use- Instruments Help". Archived from the original on 2020-06-20.
  3. http://www.polhosting.info/web-archives/pixelshox_technology/ Archived 2017-01-29 at the Wayback Machine PixelShox Technology
  4. "Design Prototyping with Quartz Composer" . Retrieved 13 February 2014.
  5. "Using Spin Control".