Dock Plugin 主要做几个工作:
1,其中更改dock上application的图标。
2,更改badge:
3,定义自己的menu:
加徽章(Badge) -------------图标上的数字。
换图标
隐藏和显示最小化时的图标徽章
增加自定义Dock菜单
苹果官方说明:
TheNSDockTilePlugInprotocol defines the methods implemented by plug-ins that allow an application’s Dock tile to be customized while the application is not running.
Customizing an application’s Dock tile when the application itself is not running requires that you write a plug-in. The plug-in’s principal class must implement theNSDockTilePlugInprotocol.
The name of the plugin is indicated by aNSDockTilePlugInkey in the application's Info.plist file.
Key:
Document types
(CFBundleDocumentTypes)
Value:array
说明:
保存了一组字典,它包含了该应用程序所支持的文档类型。每一个字典都被称做类型定义字典,并且包含了用于定义文档类型的关键字。表A-2列出了类型定义字典中支持的关键字。
表A-2 CFBundleDocumentTypes字典的关键字

关键字
类型
描述
CFBundleTypeExtensionsArray该关键字包含了一组映射到这个类型的文件扩展名。为了打开具有任何扩展名的文档,可以用单个星号“*”。该关键字是必须的。
CFBundleTypeIconFileString该关键字指定了系统显示该类文档时使用的图标文件名,该图标文件名的扩展名是可选的。如果没有扩展名,系统会根据平台指定一个(例如,Mac OS 9中的.icons)。
CFBundleTypeNameString该关键字包含了这种文档类型的抽象名称。通过在适当的InforPlist.strings文件中包含该关键字,可以实现对它的本地化。
CFBundleTypeOSTypesArray该关键字包含了一组映射到这个类型的四字母长的类型代码。为了打开所有类型的文档,可以把它设为“****”。该关键字是必须的。
CFBundleTypeRoleString该关键字定义了那些与文档类型有关的应用程序的角色。它的值可以是Editer,Viewer,Printer,Shell或None。有关这些值的详细描述可以参见“ 文档的配置”。该关键字是必须的。
NSDocumentClassString该关键字描述了被用来实例化文档的NSDocument子类。仅供Cocoa应用程序使用。
NSExportableAsArray该关键字描述了一组可以输出的文档类型。仅供Cocoa应用程序使用。

Key:
Environment variables
(LSEnvironment)
Value:Dictionary
说明:
环境变量。
Key:
Executable architectures
(LSExecutableArchitectures)
Value:Array
说明:
可执行文件框架。
intel - 32 bit
intel - 64 bit
powerpc 32 bit
powerpc64 bit
Key:
Executable file
(CFBundleExecutable)
Value:String
说明:
应用程序的可执行文件。对于一个可加载束,它是一个可以被束动态加载的二进制文件。对于一个框架,它是一个共享库。Project Builder会自动把该关键字加入到合适项目的Info.plist文件中。
Key:
Exported Type UTIs
(UTExportedTypeDeclarations)
Value:array
说明:
导出UTI(Unique Type Identifier)类型。
Key:
File quarantine enabled
(LSFileQuarantineEnabled)
Value:
Key:
Fonts provided by application
(UIAppFonts)
Value:
Key:
Get Info string
(CFBundleGetInfoString)
Value:String
说明:
CFBundleGetInfoString关键字含有会在束的信息窗口中显示的纯文本字符串(这里的字符串也就是Mac OS 9中的长字符串)。该关键字的格式应该遵照Mac OS 9中的长字符串,例如:“2.2.1, ? Great Software, Inc, 1999”。通过把它加入到合适的.lproj目录中的InfoPlist.strings文件中,您也可以本地化该字符串。
如果存在CFBundleGetInfoHTML的话,系统不会选择使用该关键字。
Key:
Help Book directory name
(CFBundleHelpBookFolder)
Value:String
说明:
帮助目录,CFBundleHelpBookFolder关键字含有该束的帮助文件的文件夹名字。帮助通常被本地化成一种指定的语言,所以该关键字指向的文件夹应该是所选择语言的.lproj目录中的文件夹。
Key:
Help Book identifier
(CFBundleHelpBookName)
Value:String
说明:
CFBundleHelpBookName指定了您的应用程序的帮助主页。该关键字指定的帮助页面名可以和HTML文件名不同。在帮助文件META标签的CONTENT属性中指定了帮助页面名。
Key:
Help file
(CFAppleHelpAnchor)
Value:String
说明:
定义了束的初始HTML帮助文件名,不需要包括.html或.htm扩展名。这个文件位于束的本地化资源目录中,或者如果没有本地化资源目录的话,则直接被放在Resources目录中。
Key:
Icon already includes gloss effects
(UIPrerenderedIcon)
Value:BOOL
说明:
默认情况下,应用程序被设置了玻璃效果,把这个设置为true可以阻止这么做。
Key:
Icon file
(CFBundleIconFile)
Value:String
说明:
设置应用程序图标的。CFBundleIconFile关键字指定了包含该束图标的文件。您给出的文件名不需要包含“.icns”扩展名。Finder会在该束的“Resource”文件夹内寻找图标文件。如果您的束使用了自定义的图标,那您就必须指定该属性。假如您没有指定,Finder(和其他应用程序)会使用缺省的图标来显示您的束。
Key:
Icon files
(CFBundleIconFiles)
Value:String
说明:
应用程序图标。
Key:
Icon files (iOS 5)
(CFBundleIcons)
Value:string
说明:
应用程序图标。
Key:
Imported Type UTIs
(UTImportedTypeDeclarations)
Value:
Key:
Initial interface orientation
(UIInterfaceOrientation)
Value:String
说明:
确定了应用程序以风景模式还是任务模式启动。
Portrait(bottom home button) 坚屏,状态条远离HOME按钮。
Portrait(top home button) 坚屏,状态条近HOME键,在手机上就显示为颠倒的显示。
Landscape(left home button) 横屏:以HOME键在左为基准,显示VIEW。即手拿真机横着时HOME按钮在左手边时,观看屏幕。
Landscape(right home button) 横屏:以HOME键在右为基准,显示VIEW。
Key:
Installation directory base file URL
(APInstallerURL)
Value:String
说明:
指定了一个指向您希望安装的文件的路径。您必须以file://localhost/path/ 形式来说明这个路径。所有被安装的文件必须位于这个文件夹中。
Key:
Installation files
(APFiles)
Value:Dictionary
说明:
指定了一个字典,描述了您希望安装的文件。每个字典条目可以包含某个文件或目录的描述。您可以让APFiles 关键字包含在其自身中,用于指定在目录内部的文件。表A-8列出了用来指定有关单个文件或目录的信息。

关键字
类型
描述
APFileDescriptionKeyString用来显示在Finder的信息窗口中的简短描述。
APDisplayedAsContainerString如果值为“Yes”,该项目作为一个目录图标显示在信息面板中;否则,它被显示为一个文档图标。
APFileDestinationPathString一个安装组件的相对路径。
APFileNameString文件或目录的名称。
APFileSourcePathString指向应用程序包中组件的路径,相对与APInstallerURL路径。
APInstallActionString操纵组件的动作:“Copy”或者“Open”

Key:
InfoDictionary version
(CFBundleInfoDictionaryVrsion)
Value:String
说明:
指定了属性列表结构的当前版本号。该关键字的存在使得可以支持Info.plist格式将来的版本。在您建立一个束时,Project Builder会自动产生该关键字。
Key:
Java classpaths
(NSJavaPath)
Value:String
说明:
包含了一组路径。每一个路径指向一个Java类。该路径相对于由NSJavaRoot关键字定义的位置来说,可能是一个绝对路径也可能是一个相对路径。开发环境会自动把这些值保存在数组中。
Key:
Java root directory
(NSJavaRoot)
Value:String
说明:
一个指向一个目录的字符串。该目录是应用程序的Java类文件的根目录。