Discovering Openstep: a Developer Tutorial

Total Page:16

File Type:pdf, Size:1020Kb

Discovering Openstep: a Developer Tutorial DISCOVERING OPENSTEP: A DEVELOPER TUTORIAL Object-Oriented Software DISCOVERING OPENSTEP: A Developer Tutorial Release 4.0 for Mach f· NeXT Software, Inc. 900 Chesapeake Drive Redwood City, CA 94063 U.S.A. We at NeXT have tried to make the information contained in this publication as accurate and reliable as possible. Nevertheless, NeXT disclaims any warranty of any kind, whether express or implied, as to any matter whatsoever relating to this publication, including without limitation the merchantability or fitness for any particular purpose. NeXT will from time to time revise the software described in this publication and reserves the right to make such changes without the obligation to notify the purchaser. In no event shall NeXT be liable for any indirect, special, incidental, or consequential damages arising out of purchase or use of this publication or the information contained herein. Restricted Rights Legend: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1 )(ij) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 (or, if applicable, similar clauses at FAR 52.227-19 or NASA FAR Supp. 52.227-86). Copyright 1993-1996 NeXT Software, Inc. All Rights Reserved. [6863.00] NeXT, the NeXT logo, NEXTSTEp, Netlnfo, and Objective-C are registered trademarks of NeXT Software, Inc. The NEXTSTEP logo, Application Kit, Enterprise Object, Enterprise Objects Framework, Interface Builder, OPENSTEp, the OPENSTEP logo, PDO, Portable Distributed Objects, WebObjects, and Workspace Manager are trademarks of NeXT Software, Inc. Use in commerce other than as "fair use" is prohibited by law except by express license from NeXT Software, Inc. PostScript is a registered trademark of Adobe Systems, Incorporated. Unix is a registered trademark of UNIX Systems Laboratories, Inc. All other trademarks mentioned belong to their respective owners. U.S. and foreign patents are pending on NeXT products. Netlnfo: U.S. Patent No. 5,410,691 NEXTSTEP: U.S. Patent Nos. 5,184,124; 5,355,483; 5,388,201; 5,423,039; 5,432,937. Cryptography: U.S. Patent Nos. 5,159,632; 5,271,061. Address inquiries concerning usage of NeXT trademarks, designs, or patents to General Counsel, NeXT Software, Inc., 900 Chesapeake Drive, Redwood City, CA 94063 USA.} Written by: Terry Donoghue Tutorial applications by: Terry Donoghue Art and Production management: Terri FitzMaurice Book design: Karin Stroud Publications management: Ron Hayden With help from: Trey Matteson, Ron Hayden, Jean Ostrem, Lynn Cox, Derek Clegg, and Kelly Toshach Cover design: CKS Partners, San Francisco, California Table of Contents 1 Introduction 111 To Do Tutorial 6 What is OPENSTEP? 117 The Design of To Do 8 Power Programming with OPEN STEP Developer 121 Setting up the To Do Project 10 The Advantage of Objects 122 Creating the Model Class (ToDoltem) 11 The Advantage of OPENSTEP 128 Subclass Example: Adding Data and Behavior (CalendarMatrix) Why NSMatrix? 128 13 Currency Converter Tutorial 139 The Basics of a Multi-Document Application 19 Creating the Currency Converter Project 150 Managing Documents Through Delegation 21 Creating the Currency Converter Interface 153 Managing the Data and Coordinating its Display 34 Designing the Currency Converter Application (ToDoDoc) 37 Defining the Classes of Currency Converter 160 Subclass Example: Overriding Behavior Connecting ConverterControlier to the Interface 42 (SelectionNotifMatrix) 46 Implementing the Classes of Currency Converter 164 Creating and Managing an Inspector (ToDolnspector) 51 Building the Currency Converter Project 181 Subclass Example: Overriding and Adding Behavior (ToDoCell) 56 Run Currency Converter 187 Setting Up Timers for Notification Messages 57 Travel Advisor Tutorial 190 Build, Run, and Extend the Application Optional Exercises 191 62 Creating the Travel Advisor Interface World Wide Web 197 73 The Design of Travel Advisor Model Objects 73 193 Where To Go From Here Controller 74 198 Programming Tools and Resources 76 Defining the Classes of Travel Advisor 201 Information 82 Implementing the Country Class 203 Professional Services 90 Implementing the TAController Class Data Mediation 92 205 Ordering NeXT Products and Services Getting the Table View to Work 95 Adding and Deleting Records 100 Field Formatting and Validation 102 Application Management 105 109 Building and Running Travel Advisor Table of Contents 209 Appendix A: Object-Oriented Programming 214 Objects Encapsulation 214 Messages 215 An Object-Oriented Program 216 Polymorphism and Dynamic Binding 217. 219 Classes Object Creation 219 Inheritance 220 Defining a Class 222 224 Categories and Protocols Concepts 13 Currency Converter Tutorial 88 Object Ownership, Retention, and Disposal 91 Turbo Coding With Project Builder 20 Project Indexing 94 Finding Information Within Your Project 22 A Window in OpenStep 97 Getting in on the Action: Delegation and Notification 28 Aligning on a Grid 101 Abstract Classes and Class Clusters 32 An OpenStep Application - What You Get "For Free" 103 Behind "Click Here": Controls, Cells, and Formatters 33 An OpenStep Application - The Possibilities 106 Flattening the Object Network: Coding and Archiving 34 Why an Object is Like a Jelly Donut 108 Using the Graphical Debugger 36 The Model-View-Controller Paradigm 109 lips for Eliminating Deallocation Bugs 37 Class Versus Object 40 Paths for Object Communication: Outlets, Targets, and Actions 111 To Do Tutorial 50 Objective-C Quick Reference 116 Starting Up - What Happens in NSApplicationMainO 52 What Happens When You Build an Application 118 Only When Needed: Dynamically Loading Resources and 54 Where To Go For Help Code 134 Dates and limes in OpenStep 57 Travel Advisor Tutorial 141 The Structure of Multi-Document Applications 143 Coordinate Systems in OpenStep 63 Varieties of Buttons 148 The Application Quartet: NSResponder, NSApplication, 64 More About Forms NSWindow, and NSView 66 More About Table Views 162 Events and the Event Cycle 74 The Collection Classes 178 A Short Guide to Drawing and Compositing 79 Checking Connections in Outline Mode 180 Making a Custom View 80 File's Owner 181 Why Chose NSButtonCell as Superclass? 81 Just Add a Smock: Compiled and Dynamic Palettes 189 lick Tock Brrrring: Run Loops and limer 82 NSString: A String for All Countries 84 The Foundation Framework: Capabilities, Concepts, and Paradigms iii Table of Contents iv tjciono Projects :b;1j Delete ry Jill ~24-Hour 05,.:,5.2,; ,~~tJ ~ Chapter 1 Introduction Sections What is OPENSTEP? Power Programming With OPENSTEP Developer The Advantage of Objects The Advantage of OPENSTEP 3 Introduction 4 When you begin any enterprise, you must find a starting point. You set out from that starting point and acquire a basic vocabulary, a notion of boundaries and techniques, a sense of how things fit together and what is possible. For those who want to learn how to create OPENSTEP applications, this book provides a starting point. With this book you become familiar with OPENSTEP application development not merely by reading but by doing. The book guides you through the creation of three applications of increasing complexity. Along the way it explains related concepts and issues. The techniques and concepts you learn in one tutorial lay the foundation for the more advanced techniques and concepts in the next tutorial. The final chapter of the book tells you where to go for further information and where and how to find things, such as tools and documentation. It also tells you how to get NeXT products and services. This book covers a lot of ground, although sometimes at only a summary level. Finishing this book makes you much better prepared to take on serious application development with OPENSTEP in general and the Enterprise Object Framework in particular. Although the aim is primarily to educate, this book is also intended-for those interested in programming-to be fun. Some of you might be new to OPENSTEP. To learn more about OPENSTEp, the standard on which it's based, and OPENSTEP Developer, turn the page. 5 Chapter 1 Introduction to OPENSTEP OPENSTEP is NeXT Software's graphical, object-oriented user OpenStep and development environment. It is based on the OpenStep standard and available on a variety of platforms. OPENSTEP is OpenStep is the software industry's first open standard for object­ earning a growing reputation in the corporate world as the oriented software development. It is an application programming premier environmentfor developing and deploying mission­ interface (API) based on the fundamental NEXTSTEP object layer: critical custom applications. the Application Kit, the Foundation Kit, and Display PostScript. The two core components ofthe product are OPENSTEP User and OPENSTEP Developer. Applications Application Kit OPENSTEP User is a user environment Display Foundation acclaimed for its intuitively navigable desktop Postscript Kit 0IifHSfBi and file manager. On it you can easily deploy your own OPENSTEP applications as well as those OpenStep supplied by NeXT and third-party vendors. Intelligent networking, particularly Netlnfo, makes it possible to install and upgrade OPENSTEP in a fraction of the time it takes other systems. The OpenStep object layer allows corporate customers to create, evolve OPENSTEP Developer, NeXT's software­ and deploy multi-tier; client/server business applications in a fraction of development environment, provides time it takes other methods. seamlessly integrated set of tools for building • Application
Recommended publications
  • Analyzing Safari 2.X Web Browser Artifacts Using SFT
    Analyzing Safari 2.x Web Browser Artifacts using SFT. Copyright 2007 - Jacob Cunningham (v1.0) Table of Contents Introduction:...............................................................................................................................................3 Safari Forensic Tools................................................................................................................................. 3 OSX Property List files..............................................................................................................................3 Safari Related Files.................................................................................................................................... 4 The Safari Preferences files....................................................................................................................... 5 Browser History......................................................................................................................................... 7 Downloads history:.................................................................................................................................... 8 Bookmarks file ........................................................................................................................................10 Cookies file:............................................................................................................................................. 11 Browser Cache........................................................................................................................................
    [Show full text]
  • Programming Java for OS X
    Programming Java for OS X hat’s so different about Java on a Mac? Pure Java applica- tions run on any operating system that supports Java. W Popular Java tools run on OS X. From the developer’s point of view, Java is Java, no matter where it runs. Users do not agree. To an OS X user, pure Java applications that ignore the feel and features of OS X are less desirable, meaning the customers will take their money elsewhere. Fewer sales translates into unhappy managers and all the awkwardness that follows. In this book, I show how to build GUIs that feel and behave like OS X users expect them to behave. I explain development tools and libraries found on the Mac. I explore bundling of Java applications for deployment on OS X. I also discuss interfacing Java with other languages commonly used on the Mac. This chapter is about the background and basics of Java develop- ment on OS X. I explain the history of Java development. I show you around Apple’s developer Web site. Finally, I go over the IDEs commonly used for Java development on the Mac. In This Chapter Reviewing Apple Java History Exploring the history of Apple embraced Java technologies long before the first version of Java on Apple computers OS X graced a blue and white Mac tower. Refugees from the old Installing developer tan Macs of the 1990s may vaguely remember using what was tools on OS X called the MRJ when their PC counterparts were busy using JVMs. Looking at the MRJ stands for Mac OS Runtime for Java.
    [Show full text]
  • Nextdimension State-Of-The-Art Color Capabilities
    NeXT dimension is an accelerated, 32-bit color board that gives the NeXTcube NeXTdimension state-of-the-art color capabilities. NeXT dimension was designed for people who want the most advanced color PostScript system available. It's ideal for high-end publishing, graphics, video, and animation applications. The engineers at NeXT have integrated a 32-bit, true-color display function, a 64-bit RISC-based dedicated graphics coprocessor, video capture and display, and a high-performance JPEG compression coprocessor-all on one board. Its Intel i860 RISC-based microprocessor, operating at 33 MHz, runs full-color PostScript and has been optimized for our coprocessing environment, increas­ ing drawing speed eight to twelve times. This enables graphics applications to process images in near real time. The JPEG compression capabilities let you compress and play back still- and full-motion video from a hard disk drive. Features Benefits 32-blts-per-pixel NeXTd1mens1on offers 16.7 m Ilion colors .. color to choose from, so 1mages on the screen > have a photographic realism, with color, ( depth, and clanty Accelerated graph1cs The lntei1860 graphics accelerator makes work1ng w1th 32-blt color as fast as-and 1n some cases faster than-worktng on a standard NeXTcube monochrome system. � Video 1nput Lets you connect a NeXTdimens1on and output system to a VCR, laserd1sc player, VHS, S-VHS, H1-8, Beta, Camcorder, or still-v1deo camera w1thout requtring additional boards. Real-t1me Lets you take live v1deo, compress 1t, compress1on and and store 1t on hard d1sk-tn real t1me decompression With compression, you can store up to 60 t1mes more live video on a hard disk.
    [Show full text]
  • Building an Openstep Application by Michael Rutman, Independent Consultant
    Building an OpenStep Application by Michael Rutman, independent consultant Is it really as easy to program in OpenStep OpenStep and NEXTSTEP In 1985, Steve Jobs left Apple and formed NeXT. He found the latest technologies and brought together a team of developers to turn the newest theories into realities. To verify the new technologies, during development Steve would often stop development and have the entire team use the system they were creating. Several existing apps were created during these day or week long kitchens. More importantly, each developer knew how the framework would be used. If developers had a hard time using an object during a kitchen, they knew they had to rework that object. The system they created was called NEXTSTEP. NEXTSTEP has several layers, and each layer was state of the art in 1985. In the 12 years since Steve picked these technologies, the state of the art may have moved, but not advanced. The underlying OS is a Mach mini-kernel running a unix emulator. For practical purposes, Mach is a flavor of BSD unix. However, the Mach mini-kernel offers programmers a rich set of functionality beyond what unix provides. Most of the functionality of Mach is wrapped into the NEXTSTEP framework, so programmers get the power and flexibility of Mach with the ease of use of NEXTSTEP. Sitting on top of Mach is Display Postscript. Postscript, the language of printers, is a nice graphics language. NeXT and Adobe optimized Postscript for displaying on the screen and produced a speedy and powerful display system. NeXT's framework hides most of the Postscript, but if a programmer wants to get into the guts, there are hooks, called pswraps, to work at the Postscript level.
    [Show full text]
  • Using the Java Bridge
    Using the Java Bridge In the worlds of Mac OS X, Yellow Box for Windows, and WebObjects programming, there are two languages in common use: Java and Objective-C. This document describes the Java bridge, a technology from Apple that makes communication between these two languages possible. The first section, ÒIntroduction,Ó gives a brief overview of the bridgeÕs capabilities. For a technical overview of the bridge, see ÒHow the Bridge WorksÓ (page 2). To learn how to expose your Objective-C code to Java, see ÒWrapping Objective-C FrameworksÓ (page 9). If you want to write Java code that references Objective-C classes, see ÒUsing Java-Wrapped Objective-C ClassesÓ (page 6). If you are writing Objective-C code that references Java classes, read ÒUsing Java from Objective-CÓ (page 5). Introduction The original OpenStep system developed by NeXT Software contained a number of object-oriented frameworks written in the Objective-C language. Most developers who used these frameworks wrote their code in Objective-C. In recent years, the number of developers writing Java code has increased dramatically. For the benefit of these programmers, Apple Computer has provided Java APIs for these frameworks: Foundation Kit, AppKit, WebObjects, and Enterprise Objects. They were made possible by using techniques described later in Introduction 1 Using the Java Bridge this document. You can use these same techniques to expose your own Objective-C frameworks to Java code. Java and Objective-C are both object-oriented languages, and they have enough similarities that communication between the two is possible. However, there are some differences between the two languages that you need to be aware of in order to use the bridge effectively.
    [Show full text]
  • Openstep User Interface Guidelines
    OpenStep User Interface Guidelines 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. Part No: 802-2109-10 A Sun Microsystems, Inc. Business Revision A, September 1996 1996 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. Portions Copyright 1995 NeXT Computer, Inc. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® system, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party font software, including font technology in this product, is protected by copyright and licensed from Sun's suppliers. This product incorporates technology licensed from Object Design, Inc. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, SunOS, and OpenWindows are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
    [Show full text]
  • Development Production Line the Short Story
    Development Production Line The Short Story Jene Jasper Copyright © 2007-2018 freedumbytes.dev.net (Free Dumb Bytes) Published 3 July 2018 4.0-beta Edition While every precaution has been taken in the preparation of this installation manual, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To get an idea of the Development Production Line take a look at the following Application Integration overview and Maven vs SonarQube Quality Assurance reports comparison. 1. Operating System ......................................................................................................... 1 1.1. Windows ........................................................................................................... 1 1.1.1. Resources ................................................................................................ 1 1.1.2. Desktop .................................................................................................. 1 1.1.3. Explorer .................................................................................................. 1 1.1.4. Windows 7 Start Menu ................................................................................ 2 1.1.5. Task Manager replacement ........................................................................... 3 1.1.6. Resource Monitor .....................................................................................
    [Show full text]
  • Steve Jobs – Who Blended Art with Technology
    GENERAL ¨ ARTICLE Steve Jobs – Who Blended Art with Technology V Rajaraman Steve Jobs is well known as the creator of the famous Apple brand of computers and consumer products known for their user friendly interface and aesthetic design. In his short life he transformed a range of industries including personal comput- ing, publishing, animated movies, music distribution, mobile phones, and retailing. He was a charismatic inspirational leader of groups of engineers who designed the products he V Rajaraman is at the visualized. He was also a skilled negotiator and a genius in Indian Institute of Science, Bangalore. Several marketing. In this article, we present a brief overview of his generations of scientists life. and engineers in India have learnt computer 1. Introduction science using his lucidly written textbooks on Steve Jobs made several significant contributions which revolu- programming and tionized six industries, namely, personal computing, publishing, computer fundamentals. His current research animated movies, music distribution, mobile phones, and retail- interests are parallel ing digital products. In all these cases he was not the primary computing and history of inventor; rather he was a consummate entrepreneur and manager computing. who understood the potential of a technology, picked a team of talented engineers to create what he visualized, motivated them to perform well beyond what they thought they could do. He was an aesthete who instinctively blended art with technology. He hired the best industrial designers to design products which were not only easy to use but were also stunningly beautiful. He was a marketing genius who created demand for his products by leaking tit bits of information about their ‘revolutionary’ features, thereby building expectancy among prospective customers.
    [Show full text]
  • Mac OS X Intro for UNIX Users
    Mac OS X An Introduction for UNIX Users Leon Towns-von Stauber, Occam's Razor Seattle BSD Users Group, October 2004 http://www.occam.com/osx/ X Contents Opening Remarks.............................3 Where Did Mac OS X Come From?.....5 What is Mac OS X?..........................13 A New Kind of UNIX........................25 A Different Kind of UNIX.................28 Why Use Mac OS X?.........................60 Resources.......................................63 Closing Remarks.............................67 X Opening Remarks 3 This is a technical introduction to Mac OS X, mainly targeted to experienced UNIX users for whom OS X is at least relatively new Some emphasis on comparisons with FreeBSD I'm assuming basic familiarity with operating system design Where I'm coming from: UNIX user and some-time admin since 1990 Full-time UNIX admin since 1995 NeXTstep user and admin since 1991 This presentation covers primarily Mac OS X 10.3.5 (Darwin 7.5) X Legal Notices 4 This presentation Copyright © 2003-2004 Leon Towns-von Stauber. All rights reserved. Trademark notices Apple®, Mac®, Macintosh®, Mac OS®, Aqua®, Finder™, Quartz™, Cocoa®, Carbon®, AppleScript®, Rendezvous™, Panther™, and other terms are trademarks of Apple Computer. See <http:// www.apple.com/legal/appletmlist.html>. NeXT®, NeXTstep®, OpenStep®, and NetInfo® are trademarks of NeXT Software. See <http://www.apple.com/legal/nexttmlist.html>. PowerPC™ is a trademark of International Business Machines. Java™ is a trademark of Sun Microsystems. Other trademarks are the property of their
    [Show full text]
  • 7 Products Steve Jobs Got Wrong 6 October 2011, by PETER SVENSSON , AP Technology Writer
    7 products Steve Jobs got wrong 6 October 2011, By PETER SVENSSON , AP Technology Writer 4. Puck Mouse (1998) - The new iMac was the first major product created after Jobs' return to Apple in 1996, and it was a big success, despite its tiny, round mouse. Users couldn't tell which way it was oriented by feel, and it tended to disappear in the cup of the hand, making it hard to use. 5. The Cube (2000) - This small desktop computer was beautifully encased in a cube of clear plastic. It won design awards but was a flop in stores because of its high price. Also, it didn't really offer any functional benefits over other Macs. Apple's designs are iconic, but people aren't usually willing In this April 4, 1991, file photo, Steve Jobs, of NeXT to pay a premium for design alone. The Cube idea Computer Inc., poses with his NeXTstation color lives on in the Mac Mini, a more successful but less computer for the press at the NeXT facility in Redwood eye-catching small Mac. City, Calif. Apple on Wednesday, Oct. 5, 2011 said Jobs has died. He was 56. (AP Photo/Ben Margot, File) 6. iTunes phone (2005) - It's easy to forget that the iPhone wasn't Apple's first venture into the cellphone business. It formed a partnership with Motorola Inc. to launch the ROKR in late 2005. As (AP) -- Steve Jobs pushed the envelope many a phone, it was decent if unexciting, but as a music times when it came to product design, and the player, it fell far short of the iPod.
    [Show full text]
  • The Apple Ecosystem
    APPENDIX A The Apple Ecosystem There are a lot of applications used to manage Apple devices in one way or another. Additionally, here’s a list of tools, sorted alphabetically per category in order to remain vendor agnostic. Antivirus Solutions for scanning Macs for viruses and other malware. • AVG: Basic antivirus and spyware detection and remediation. • Avast: Centralized antivirus with a cloud console for tracking incidents and device status. • Avira: Antivirus and a browser extension. Avira Connect allows you to view device status online. • BitDefender: Antivirus and malware managed from a central console. • CarbonBlack: Antivirus and Application Control. • Cylance: Ransomware, advanced threats, fileless malware, and malicious documents in addition to standard antivirus. • Kaspersky: Antivirus with a centralized cloud dashboard to track device status. © Charles Edge and Rich Trouton 2020 707 C. Edge and R. Trouton, Apple Device Management, https://doi.org/10.1007/978-1-4842-5388-5 APPENDIX A THe AppLe ECOSYSteM • Malware Bytes: Antivirus and malware managed from a central console. • McAfee Endpoint Security: Antivirus and advanced threat management with a centralized server to track devices. • Sophos: Antivirus and malware managed from a central console. • Symantec Mobile Device Management: Antivirus and malware managed from a central console. • Trend Micro Endpoint Security: Application whitelisting, antivirus, and ransomware protection in a centralized console. • Wandera: Malicious hot-spot monitoring, jailbreak detection, web gateway for mobile threat detection that integrates with common MDM solutions. Automation Tools Scripty tools used to automate management on the Mac • AutoCasperNBI: Automates the creation of NetBoot Images (read: NBI’s) for use with Casper Imaging. • AutoDMG: Takes a macOS installer (10.10 or newer) and builds a system image suitable for deployment with Imagr, DeployStudio, LANrev, Jamf Pro, and other asr or Apple Systems Restore-based imaging tools.
    [Show full text]
  • DISCOVERING OPENSTEP: a Developer Tutorial
    DISCOVERING OPENSTEP: A Developer Tutorial Rhapsody Developer Release Apple Computer, Inc. User Interface Tips copyright © 1997 Apple Computer, Inc. All rights reserved. [6467.00] No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior written permission of Apple Computer, Inc., except to make a backup copy of any documentation provided on CD-ROM. Printed in the United States of America. The Apple logo is a trademark of Apple Computer, Inc. Use of the “keyboard” Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws. No licenses, express or implied, are granted with respect to any of the technology described in this book. Apple retains all intellectual property rights associated with the technology described in this book. This book is intended to assist application developers to develop applications only for Apple-labeled or Apple-licensed computers. Every effort has been made to ensure that the information in this manual is accurate. Apple is not responsible for printing or clerical errors. Apple Computer, Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 Apple, and the Apple logo are trademarks of Apple Computer, Inc., registered in the United States and other countries. NeXT, the NeXT logo, NEXTSTEP, the NEXTSTEP logo, Digital Librarian, NeXTmail, and
    [Show full text]