Home
Aperture SDK Overview
Contents
1. lt array gt lt dict gt lt array gt Edit Plug in Protocols The protocols for an Edit plug in in the Aperture 2 1 SDK include ApertureEditPlugin Specified in the header file ApertureEditPlugIn h This protocol contains methods for e Beginning the edit session e Providing the plug in user interface e Using optional callbacks if your plug in imports new images 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 9 Aperture 3 4 SDK Overview Building an Edit Plug in ApertureEditManager Specified in the header file ApertureEditManager h A plug in uses the methods on this protocol to communicate with Aperture during the edit process This protocol contains methods for e Requesting new editable versions of the selected images e Undoing changes made by the plug in e Adding metadata to images in the Aperture library e Importing new images into the Aperture library e Ending or canceling the edit session PROAPIAccessing Specified in the header file PROAPIAccessing h This protocol acts as the broker between Aperture and a plug in It allows the plug in to ask which version of a protocol the host application supports Building an Edit Plug in The easiest way to build a new Edit plug in is to create a new project in Xcode using the Aperture Edit Plug In project template or to duplicate one of the sample projects Both the template and the sample projects are included in the SDK inst
2. 010 Apple the Apple logo Aperture Mac OS X and Xcode are trademarks of Apple Inc registered in the U S and other countries APPLE MAKES NO WARRANTY OR REPRESENTATION EITHER EXPRESS OR IMPLIED WITH RESPECT TO THIS DOCUMENT ITS QUALITY ACCURACY MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE AS A RESULT THIS DOCUMENT IS PROVIDED AS IS AND YOU THE READER ARE ASSUMING THE ENTIRE RISK AS TO ITS QUALITY AND ACCURACY IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT INDIRECT SPECIAL INCIDENTAL OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT ERROR OR INACCURACY IN THIS DOCUMENT even if advised of the possibility of such damages Some jurisdictions do not allow the exclusion of implied warranties or liability so the above exclusion may not apply to you
3. Aperture SDK Overview Developer Contents Aperture 3 4 SDK Overview 4 Plug in Concepts 5 Versions of the Aperture SDK 5 Export Plug in Protocols 6 Building an Export Plug in 6 An Example Export Plug in 7 The Info plist for an Export Plug in 7 Edit Plug in Protocols 9 Building an Edit Plug in 10 Example Edit Plug ins 10 The Info plist for an Edit Plug in 10 Plug in Locations 13 Document Revision History 15 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 2 Listings Aperture 3 4 SDK Overview 4 Listing 1 1 An Export Plug in Info plist 7 Listing 1 2 An Edit Plug in Info plist 11 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 3 Aperture 3 4 SDK Overview You can use the Aperture SDK to create two different kinds of Aperture plug ins Export plug ins and Edit plug ins Export plug ins let you control the entire Aperture export process With an Export plug in you can Manage the visibility of the Aperture controls in the export window such as Version or Master export Export Presets and File Naming Policy Display a custom user interface within the Aperture export window Provide users with custom export presets Track the type of image Master or Version being exported Because of its non destructive editing Aperture must first generate the appropriate images before letting a plug in perform an export operation Users control the specific options that go into the image g
4. PROPLuginRegisterBundle protocol gt lt key gt ProPlugInGroupList lt key gt lt Required along with all child keys Identifies this plug in as an Edit plug in gt lt array gt lt dict gt lt key gt g roupName lt key gt lt string gt Edit lt string gt lt key gt uuid lt key gt lt string gt 616BA321 B4C2 49DF 8FD8 2E3392D2D240 lt string gt lt dict gt lt array gt lt key gt ProPlugP lugInList lt key gt lt Required Identifies the plug in s in this bundle gt lt array gt lt dict gt lt key gt className lt key gt lt string gt xxxxxxxxxxx lt string gt lt Required The name of the class that implements the plug in protocol gt lt key gt displayName lt key gt lt string gt xxXxXxXxxxxxxx lt string gt lt Required The name that will appear in menus and on the Edit window gt 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 11 Aperture 3 4 SDK Overview Building an Edit Plug in lt key gt protocolNames lt key gt lt array gt lt string ApertureEditPlugIn lt string gt lt array gt lt Required Specifies the plug in protocol this plug in implements This value should be ApertureEditPlugIn for this version of the Aperture SDK gt lt key gt infoString lt key gt lt string gt Description of your plug in and what it does lt string gt lt Optional This is the descriptive text that displays in the Apertu
5. all Be sure to customize the class names and to fill in the proper UUIDs to avoid namespace collisions Example Edit Plug ins An example Edit plug in is installed in Developer Examples Aperture This example illustrates API usage as well as several more advanced concepts The Info plist for an Edit Plug in An Aperture Edit plug in is packaged in a CFBundle Each bundle contains one more plug ins A bundle also contains an Info pList file This file encodes ckey value pairs that are specific to the ProPlug plug in architecture They tell the plug in manager what protocols and versions the plug in implements and what host protocols and versions it supports This file also optionally provides several keys that are specific to Aperture Edit plug ins Here is a commented Info plist template for an Aperture Edit plug in 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 10 Aperture 3 4 SDK Overview Building an Edit Plug in Listing 1 2 An Edit Plug in Info plist lt key gt ProPlugDictionaryVers ion lt key gt lt string gt 1 0 lt string gt lt Required Identifies the version of the ProPlug dictionary this plug in uses The value should be 1 0 for this version of the Aperture SDK gt lt key gt ProPlugDynamicRegistration lt key gt lt false gt lt Required Tells the plug in manager whether the plug in principal class performs plug in registration tasks If true the class must implement the
6. ater and on either OS X 10 7 5 or 10 8 3 and later The Aperture 2 1 SDK and later provide the ability to build Edit plug ins These plug ins are compatible with the Edit functionality built into Aperture 2 1 and later The Aperture 1 5 5 SDK and later lets you create plug ins that run under Aperture 1 5 or later Aperture 1 5 1 introduced several changes to the ApertureExportManager protocol that are not available in Aperture 1 5 In particular version 2 of the Ape rtureExportManager protocol includes changes for hierarchical keywords thumbnails and image properties Specifically e You can now obtain a dictionary of image properties that does not include a thumbnail by using propertiesWithoutThumbnailForImageAtIndex e You can now obtain various sizes of a given thumbnail using the method thumbnailForImageAtIndex size and the constants KExportThumbnailSizeThumbnail kExportThumbnailSizeMini and kExportThumbnailSizeTiny e The dictionary returned from propertiesForImageAtIndex and propertiesWithoutThumbnailForImageAt Index includes an object containing the hierarchy of each keyword attached to the image The key for that object is KExportKeyHierarchicalKeywords e You can now add keywords to an image including the full hierarchy for each keyword using addHierarchicalKeywords toImageAtIndex Before using any of the updated Export functionality your plug in must first check whether version 2 of the ApertureExportManager protocol is s
7. e list of installed plug ins it uses other properties in the files such as display name group and description to create menu items for each plug in 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 14 Document Revision History This table describes the changes to Aperture SDK Overview Date Notes 2013 06 05 New document that describes the Aperture SDK released in conjunction with Aperture 3 4 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 15 Apple Inc Copyright 2013 Apple Inc All rights reserved 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 Inc with the following exceptions Any person is hereby authorized to store documentation on a single computer or device for personal use only and to print copies of documentation for personal use provided that the documentation contains Apple s copyright notice No licenses express or implied are granted with respect to any of the technology described in this document Apple retains all intellectual property rights associated with the technology described in this document This document is intended to assist application developers to develop applications only for Apple branded products Apple Inc 1 Infinite Loop Cupertino CA 95014 408 996 1
8. eneration process but an Aperture Export plug in controls the export options that are available to the user You can create an Export plug in with the Aperture 1 5 5 SDK or later Edit plug ins let you modify Aperture images With an Edit plug in you can Request editable versions of a given image Display a custom interface Import result images back into the Aperture library Add metadata to images Manipulate image data for images in the Aperture library You can create an Edit plug in with the Aperture 2 1 SDK and later 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 4 Aperture 3 4 SDK Overview Plug in Concepts Plug in Concepts The Aperture Export and Edit plug ins are based on Apple s ProPlug architecture ProPlug provides two key capabilities e The host application can discover installed plug ins By including a set of ProPlug specific key value pairs in a plug ins Info plist file you provide all the data that ProPlug needs to identify your plug in and the protocols it implements e The plug in can access the host applications API objects For example an Aperture export plug in can ask ProPlug for an ApertureExportManager object Methods for access are specified in the header file PROAPIAccessing h Versions of the Aperture SDK The Aperture 3 4 SDK provides the same functionality as the Aperture 2 1 SDK but in addition provides templates and samples that build with Xcode 4 4 and l
9. f supported editable file name extensions here tells Aperture to disable your plug in if the user has selected images that are already editable but whose master file does not have one of the listed extensions gt lt array gt lt key gt ProPlugProtocolList lt key gt lt Required along with all child keys Specifies the host protocols that this plug in supports gt lt array gt lt dict gt lt key gt protocolName lt key gt lt string gt ApertureEditManager lt string gt lt key gt vers ions lt key gt lt array gt lt integer gt 1 lt integer gt lt array gt lt dict gt lt array gt Plug in Locations Aperture looks for Export and Edit plug ins in two locations Library Application Support Aperture Plug Ins Library Application Support Aperture Plug Ins Plug ins located in the first directory are available to all users of a machine Plug ins installed in the second location are available only to the current user Apple recommends the user folder as the default installation location 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 13 Aperture 3 4 SDK Overview Plug in Locations Before Aperture can display a list of available plug ins it recursively scans the plug in folders for available CFBundles whose primary class conforms to the ApertureExportPlugin or ApertureEditPlugin protocol and which also specify this protocol in their Info plist file Once Aperture has th
10. ions of a protocol the host application supports Building an Export Plug in The easiest way to build a new export plug in for Aperture is to create a new project in Xcode using the Aperture Export Plug In project template This template is included in the SDK install Be sure to customize the class names and fill in the proper UUIDs to avoid namespace collisions 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 6 Aperture 3 4 SDK Overview Building an Export Plug in An Example Export Plug in An example Export plug in which provides simple FTP upload capability is installed in Developer Examples Aperture This example illustrates API usage as well as several more advanced concepts The Info plist for an Export Plug in An Aperture Export plug in is packaged in a CFBundle Each bundle contains one or more plug ins A bundle also contains an Info p List file This Info plist file encodes key value pairs that are specific to the ProPlug plug in architecture They tell the plug in manager what protocols and versions the plug in implements and what host protocols and versions it supports As well the key value pairs specify appropriate names IDs and groupings Here is a commented Info plist template for an Aperture Export plug in Listing 1 1 An Export Plug in Info plist lt key gt ProPlugDictionaryVersion lt key gt lt string gt 1 0 lt string gt lt Required Identifies the version of the ProPl
11. ovided Aperture displays a Help button on the export window If the user clicks the Help button Aperture launches the URL specified here gt lt key gt protocolNames lt key gt lt array gt lt string ApertureExportPlugIn lt string gt lt array gt lt Required Specifies the plug in protocol this plug in implements This value should be ApertureExportPlugIn for this version of the Aperture SDK gt lt key gt infoString lt key gt lt string gt Description of your plug in and what it does lt string gt lt Optional This is the descriptive text that displays in the Aperture Command Customization window gt 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 8 Aperture 3 4 SDK Overview Edit Plug in Protocols lt key gt uuid lt key gt lt String gt XXXXXXXX XXXX XXXX XXXX XXXXXXXXXXX lt SErINg gt lt Required Specifies a unique identifier for this plug in Use the uuidgen command line tool to generate a unique identifier gt lt key gt version lt key gt lt string gt 1 lt string gt lt dict gt lt array gt lt key gt ProPlugProtocolList lt key gt lt Required along with all child keys Specifies the host protocols that this plug in supports gt lt array gt lt dict gt lt key gt protocolName lt key gt lt string gt ApertureExportManager lt string gt lt key gt versions lt key gt lt array gt lt integer gt 1 lt integer gt
12. re Command Customization window gt lt key gt uuid lt key gt lt string gt xxxxXXXX XXXX XXXX XXXX XXXXXXXXXXX lt S t ring gt lt Required Specifies a unique identifier for this plug in Use the uuidgen command line tool to generate a unique identifier gt lt key gt version lt key gt lt string gt 1 lt string gt lt dict gt lt key gt supportedRAWExtensions lt key gt lt array gt lt string gt cr2 lt string gt lt array gt lt Optional If your plug in reads the RAW master data from images but only supports certain raw formats providing a list of file name extensions here will disable your plug in if the user has selected any images that aren t RAW or are RAW but do not have one of the extensions listed here Note that Aperture will still pass images that do not have any extension at all to your plug in regardless of the extensions listed here gt lt key gt supportedEditableExtensions lt key gt lt array gt 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 12 Aperture 3 4 SDK Overview Plug in Locations lt string gt tiff lt string gt lt array gt lt If your plug in only knows how to read or write certain types of files it can request that Aperture write new editable files in those formats However images may already be editable when the user selects them meaning Aperture will not write a new file for your plug in Providing a list o
13. ug dictionary this plug in uses The value should be 1 0 for this version of the Aperture SDK gt lt key gt ProPlugDynamicRegistration lt key gt lt false gt lt Required Tells the plug in manager whether the plug in principal class performs plug in registration tasks If true the class must implement the PROPluginRegisterBundle protocol gt lt key gt ProPlugInGroupList lt key gt lt Required along with all child keys Identifies this plug in as an Export plug in gt lt array gt lt dict gt lt key gt groupName lt key gt lt string gt Export lt string gt lt key gt uuid lt key gt lt string gt 616BA321 B4C2 49DF 8FD8 2E3392D2D24 lt string gt lt dict gt 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 7 Aperture 3 4 SDK Overview Building an Export Plug in lt array lt key gt Pr lt Req lt array gt lt di gt oPlugP LugInList lt key gt uired Identifies the plug in s in this bundle gt ct gt lt key gt className lt key gt lt string gt xxxxxxxxxxx lt string gt lt Required The name of the class that implements the plug in protocol gt lt key gt disp LayName lt key gt lt string gt xxxxxxxxxxx lt string gt lt Required The name that will appear in menus and on the export window gt lt key gt he LpURL lt key gt lt string gt xxxxxxxxxxx lt string gt lt Optional If pr
14. upported by the version of Aperture the plug in is currently running under To do this you can call the following method from the PROAPIAccess ing header file 2013 06 05 Copyright 2013 Apple Inc All Rights Reserved 5 Aperture 3 4 SDK Overview Export Plug in Protocols BOOL conformsToProtocol Protocol aProtocol version unsigned int versionNumber For example you can decide which SDK features to use based on the results of calling this method if _exportManager conformsToProtocol protocol ApertureExportManager version 2 Use Export API features only available in Aperture 1 5 1 and later else Use Export API features available in Aperture 1 5 and later Export Plug in Protocols The protocols for an Export plug in in the Aperture SDK include ApertureExportPlugin Specified in the header file ApertureExportPlugIn h This protocol contains methods for e Controlling the appearance and UI of the export window e Controlling the export process e Providing progress information ApertureExportManager Specified in the header file ApertureExportManager h A plug in uses the methods in this protocol to communicate with Aperture during the export process Version 2 of the protocol is supported by Aperture 1 5 1 and later PROAPIAccessing Specified in the header file PROAPIAccessing h This protocol acts as the broker between Aperture and a plug in It allows a plug in to ask which vers
Download Pdf Manuals
Related Search
Related Contents
Samsung 320TSN-3 Керівництво користувача SmartMetals 112.2270 project mount Prof. Jochum - Bezirksregierung Köln Frymaster UHC-P 2 User's Manual Pando E-250 FmX Integrated Display User Guide Gear Head MPWR4100BLU mouse pad Terra 132B - TNE Franklin Copyright © All rights reserved.
Failed to retrieve file