CFBundleDevelopmentRegion
CFBundleDevelopmentRegion关键字指定了一个字符串值来标识束的地区。通常对应于作者的母语。如果不能找到用户首选的地区或语言的资源,系统最后会使用该值。
CFBundleDisplayName
CFBundleDisplayName关键字指定了一个字符串值来标识束的显示名称。Finder和其他用户界面组件会把它显示给用户。这个名称可以与文件系统中的束名不同。通过把关键字加入适当的.lproj子目录中的InfoPlist.strings文件,就可以实现该关键字的本地化。如果您需要本地化这个关键字,您还应该提供一个CFBundleName关键字的本地化版本。
有关显示名称的更多信息参见“本地化文件系统名称”。
CFBundleDocumentTypes
CFBundleDocumentTypes关键字保存了一组字典,它包含了该应用程序所支持的文档类型。每一个字典都被称做类型定义字典,并且包含了用于定义文档类型的关键字。表A-2列出了类型定义字典中支持的关键字。
表 A-2 CFBundleDocumentTypes字典的关键字
关键字
|
类型
|
描述
|
CFBundleTypeExtensions |
Array |
该关键字包含了一组映射到这个类型的文件扩展名。为了打开具有任何扩展名的文档,可以用单个星号“*”。该关键字是必须的。 |
CFBundleTypeIconFile |
String |
该关键字指定了系统显示该类文档时使用的图标文件名,该图标文件名的扩展名是可选的。如果没有扩展名,系统会根据平台指定一个(例如,Mac OS 9中的.icons)。 |
CFBundleTypeName |
String |
该关键字包含了这种文档类型的抽象名称。通过在适当的InforPlist.strings文件中包含该关键字,可以实现对它的本地化。 |
CFBundleTypeOSTypes |
Array |
该关键字包含了一组映射到这个类型的四字母长的类型代码。为了打开所有类型的文档,可以把它设为“****”。该关键字是必须的。 |
CFBundleTypeRole |
String |
该关键字定义了那些与文档类型有关的应用程序的角色。它的值可以是Editer,Viewer,Printer,Shell或None。有关这些值的详细描述可以参见“ 文档的配置”。该关键字是必须的。 |
NSDocumentClass |
String |
该关键字描述了被用来实例化文档的NSDocument子类。仅供Cocoa应用程序使用。 |
NSExportableAs |
Array |
该关键字描述了一组可以输出的文档类型。仅供Cocoa应用程序使用。 |
CFBundleExecutable
CFBundleExecutable 标识了束的可执行主文件的名称。对于一个应用程序来说,就是该应用程序的可执行文件。对于一个可加载束,它是一个可以被束动态加载的二进制文件。对于一个框架,它是一个共享库。Project Builder会自动把该关键字加入到合适项目的Info.plist文件中。
对于框架,考虑到启动效率的原因,可执行文件名需要和框架名同名。该可执行文件名不应该包含可用于多种平台的扩展名。
注意
您必须在束的Info.plist文件中包含一个有效的CFBundleExecutable关键字。即使当用户重命名应用程序或束的目录时,Mac OS X也可以使用这个关键字来定位可执行文件和共享库。
CFBundleGetInfoHTML
CFBundleGetInfoHTML关键字含有会在束的信息窗口中显示的HTML字符串。如果您希望在信息窗口中有更强的表现力,可以使用这个键值对来替代纯文本的CFBundleGetInfoString。通过把它加入到合适的.lproj目录中的InfoPlist.strings文件中,您也可以本地化该字符串。
如果CFBundleGetInfoString和CFBundleGetInfoHTML同时存在的话,系统会选择使用CFBundleGetInfoHTML。
CFBundleGetInfoString
CFBundleGetInfoString关键字含有会在束的信息窗口中显示的纯文本字符串(这里的字符串也就是Mac OS 9中的长字符串)。该关键字的格式应该遵照Mac OS 9中的长字符串,例如:“2.2.1, ? Great Software, Inc, 1999”。通过把它加入到合适的.lproj目录中的InfoPlist.strings文件中,您也可以本地化该字符串。
如果存在CFBundleGetInfoHTML的话,系统不会选择使用该关键字。
CFBundleHelpBookFolder
CFBundleHelpBookFolder关键字含有该束的帮助文件的文件夹名字。帮助通常被本地化成一种指定的语言,所以该关键字指向的文件夹应该是所选择语言的.lproj目录中的文件夹。
CFBundleHelpBookName
CFBundleHelpBookName指定了您的应用程序的帮助主页。该关键字指定的帮助页面名可以和HTML文件名不同。在帮助文件META标签的CONTENT属性中指定了帮助页面名。
CFBundleIconFile
CFBundleIconFile关键字指定了包含该束图标的文件。您给出的文件名不需要包含“.icns”扩展名。Finder会在该束的“Resource”文件夹内寻找图标文件。
如果您的束使用了自定义的图标,那您就必须指定该属性。假如您没有指定,Finder(和其他应用程序)会使用缺省的图标来显示您的束。
CFBundleIdentifier
CFBundleIdentifier关键字指定了束的一个唯一的标识字符串。该标识符采用了类似Java包的命名方式,例如com.apple.myapp。该束标识符可以在运行时定位束。预置系统使用这个字符串来唯一地标识每个应用程序。
CFBundleInfoDictionaryVersion
CFBundleInfoDictionaryVersion关键字指定了属性列表结构的当前版本号。该关键字的存在使得可以支持Info.plist格式将来的版本。在您建立一个束时,Project Builder会自动产生该关键字。
CFBundleName
CFBundleName指定了该束的简称。简称应该小于16个字符并且适合在菜单和“关于”中显示。通过把它加入到适当的.lproj子文件夹下的InfoPlist.strings文件中,该关键字可以被本地化。如果您本地化了该关键字,那您也应该提供一个CFBundleDisplayName关键字的本地化版本。
CFBundlePackageType
CFBundlePackageType关键字指定了束的类型,类似于Mac OS 9的文件类型代码。该关键字的值包含一个四个字母长的代码。应用程序的代码是‘APPL’;框架的代码是‘FMWK’;可装载束的代码是‘BND’。如果您需要,您也可以为可装载束选择其他特殊的类型代码。
CFBundleShortVersionString
CFBundleShortVersionString关键字指定了束的版本号。一般包含该束的主、次版本号。这个字符串的格式通常是“n.n.n”(n表示某个数字)。第一个数字是束的主要版本号,另两个是次要版本号。该关键字的值会被显示在Cocoa应用程序的关于对话框中。
该关键字不同于CFBundleVersion,它指定了一个特殊的创建号。而CFBundleShortVersionString的值描述了一种更加正式的并且不随每一次创建而改变的版本号。
CFBundleSignature
CFBundleSignature关键字指定了束的创建者,类似于Mac OS 9中的文件创建者代码。该关键字的值包含四字母长的代码,用来确定每一个束。
CFBundleURLTypes
CFBundleURLTypes关键字包含了一组描述了应用程序所支持的URL协议的字典。它的用途类似于CFBundleDocumentTypes的作用,但它描述了URL协议而不是文档类型。每一个字典条目对应一个单独的URL协议。表A-3列出了在每一个字典条目中使用的关键字。
表A-3 CFBundleURLTypes字典的关键字
关键字
|
类型
|
描述
|
CFBundleTypeRole |
String |
该关键字定义了那些与URL类型有关的应用程序的角色(即该应用程序与某种文档类型的关系)。它的值可以是Editer,Viewer,Printer,Shell或None。有关这些值的详细描述可以参见“ 文档的配置”。该关键字是必须的。 |
CFBundleURLIconFile |
String |
该关键字包含了被用于这种URL类型的图标文件名(不包括扩展名)字符串。 |
CFBundleURLName |
String |
该关键字包含了这种URL类型的抽象名称字符串。为了确保唯一性,建议您使用Java包方式的命名法则。这个名字作为一个关键字也会在InfoPlist.strings文件中出现,用来提供该类型名的可读性版本。 |
CFBundleURLSchemes |
Array |
该关键字包含了一组可被这种类型处理的URL协议。例如:http,ftp等。 |
CFBundleVersion
CFBundleVersion关键字指定了一个字符串用来标识创建号。该关键字的值通常随每一次创建而改变,并且会被显示在Cocoa"关于"对话框中的扩号里。
为了指定一个发布版的束的版本信息,可以使用CFBundleShortVersionString关键字。参见“CFBundleShortVersionString”。
应用程序特定的关键字
表A-4列出了仅用于应用程序束的关键字:
表A-4应用程序特定的关键字
关键字
|
类型
|
是否必须
|
摘要
|
CFAppleHelpAnchor |
String |
No |
该束的初始HTML帮助文件。 |
NSAppleScriptEnabled |
String |
No |
指定是否支持AppleScript。 |
NSHumanReadableCopyright |
String |
Yes |
显示在对话框中的版权信息。 |
NSJavaNeeded |
Boolean or String |
No |
指定该程序是否需要一个Java虚拟机。 |
NSJavaPath |
Array |
No |
一组Java类所在的路径(前面需要加上NSJavaRoot)。 |
NSJavaRoot |
String |
No |
包含Java类的根目录。 |
NSMainNibFile |
String |
Yes |
应用程序的主nib文件名。 |
NSPrincipalClass |
String |
Yes |
束的主类的名字。 |
NSServices |
Array |
No |
一组描述了由应用程序所提供的服务的字典。 |
CFAppleHelpAnchor
CFAppleHelpAnchor关键字定义了束的初始HTML帮助文件名,不需要包括.html或.htm扩展名。这个文件位于束的本地化资源目录中,或者如果没有本地化资源目录的话,则直接被放在Resources目录中。
NSAppleScriptEnabled
NSAppleScriptEnabled关键字说明了该应用程序是否支持AppleScript。如果您的应用程序支持,就需要把该字符串的值设为“Yes”。
NSHumanReadableCopyright
NSHumanReadableCopyright关键字包含了一个含有束的版权信息的字符串。您可以在“关于”对话框中显示它。该关键字通常会出现在InfoPlist.strings文件中,因为往往需要本地化该关键字的值。
NSJavaNeeded
NSJavaNeeded关键字含有一个布尔值,用来确定在执行该束的代码之前Java虚拟机是否需要被载入并运行。您也可以指定一个字符串类型的值“YES”代替布尔型的值。
NSJavaPath
NSJavaPath关键字包含了一组路径。每一个路径指向一个Java类。该路径相对于由NSJavaRoot关键字定义的位置来说,可能是一个绝对路径也可能是一个相对路径。开发环境会自动把这些值保存在数组中。
NSJavaRoot
NSJavaRoot关键字含有一个指向一个目录的字符串。该目录是应用程序的Java类文件的根目录。
NSMainNibFile
NSMainNibFile关键字包含了一个含有应用程序的主nib文件名(不包含.nib文件扩展名)的字符串。一个nib文件作为一个Interface Builder的存档文件,含有对用户界面的详细描述信息以及那些界面中的对象之间的关联信息。当应用程序被启动时,主nib文件会被自动装载。Mac OS X会寻找与应用程序名相匹配的nib文件。
NSPrincipalClass
NSPrincipalClass关键字定义了一个束的主类的名称。对于应用程序来说,缺省情况下这个名字就是应用程序的名字。
NSServices
NSServices包含了一组字典,它详细说明了应用程序所提供的服务。表A-5列出了用来指定服务的关键字。
表 A-5 NSServices字典的关键字
关键字
|
类型
|
描述
|
NSPortName |
String |
该关键字指定了由您的应用程序监听器为接受外部服务请求所提供的端口名称。 |
NSMessage |
String |
该关键字指定了用来调用该服务的实例方法名。在Objective-C中,实例方法的形式是messageName:userData:error:。在Java中,实例方法的形式是messageName(NSPasteBoard.String)。 |
NSSendTypes |
Array |
该关键字指定了一组可以被该服务读取的数据类型名。NSPasteboard类列出了几个常用的数据类型。您必须包含此关键字,NSReturnTypes,或者两者。 |
NSReturnTypes |
Array |
该关键字指定了一组可以被该服务返回的数据类型名。NSPasteboard类列出了几个常用的数据类型。您必须包含此关键字,NSSendTypes,或者两者。 |
NSMenuItem |
Dictionary |
该关键字包含一个字典,它指定了加入Services菜单中的文本。字典中的唯一一个关键字被称为default并且它的值是菜单项的文本。该值必须是唯一的。您可以使用斜杠“/”来指定一个子菜单。例如,Mail/Send出现在Services菜单中时就是一个带有Send子菜单并且名为Mail的菜单。 |
NSKeyEquivalent |
Dictionary |
该关键字是可选的,并且包含一个含有用来请求服务菜单命令的快捷按键的字典。与NSMenuItem类似,字典中的唯一一个关键字被称为default并且它的值是单个的字符。用户可以通过按下Command,Shift功能键和相应的字符来请求该快捷按键。 |
NSUserData |
String |
该关键字是一个可选字符串,它含有您的选择值。 |
NSTimeout |
String |
该关键字是一个可选的数字字符串,它指定了从应用程序请求服务到收到它的响应所需要等待的毫秒数。 |
启动服务关键字
启动服务关键字规定了Mac OS X中的应用程序是怎样被启动的。这些关键字适用于CFM和Mach-O可执行文件。有关CFM和Mach-O可执行文件的详情可参见“安装和集成”一章中的“CFM可执行文件”。表A-6列出了启动服务的关键字。
表A-6启动服务关键字
关键字
|
类型
|
是否必须
|
摘要
|
LSBackgroundOnly |
String |
No |
指定了应用程序是否仅仅运行在后台。(仅适用于Mach-O的应用程序)。 |
LSPrefersCarbon |
String |
No |
指定了应用程序是否优先运行在Carbon环境中。 |
LSPrefersClassic |
String |
No |
指定了应用程序是否优先运行在Classic环境中。 |
LSRequiresCarbon |
String |
No |
指定了应用程序是否必须运行在一个Carbon环境中。 |
LSRequiresClassic |
String |
No |
指定了应用程序是否必须运行在一个Classic环境中。 |
LSUIElement |
String |
No |
指定了应用程序是否是一个用户界面组件,即一个应用程序不应该出现在Dock中或强制退出窗口。 |
LSBackgroundOnly
如果该关键字存在并且被设为“1”,启动服务将只会运行在后台。您可以使用该关键字来创建无用户界面的后台应用程序。如果您的应用程序使用了连接到窗口服务器的高级框架,但并不需要显示出来,您也应该使用该关键字。后台应用程序必须被编译成Mach-O可执行文件。该选项不适用于CFM应用程序。
您也可以指定该关键字的类型为Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持这些类型的值。
LSPrefersCarbon
如果该关键字被设为“1”,Finder将会在显示简介面板中显示“在Classic环境中打开”控制选项,缺省情况下该控件未被选中。如果需要,用户可以修改这个控制选项来在Classic环境中启动应用程序。
您也可以指定该关键字的类型为Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持这些类型的值。如果您在您的属性列表中加入了该关键字,那么就不要同时加入LSPrefersClassic, LSRequiresCarbon,或LSRequiresClassic关键字。
LSPrefersClassic
如果该关键字被设为“1”,Finder将会在显示简介面板中显示“在Classic环境中打开” 控制选项,缺省情况下该控件被选中。如果需要,用户可以修改这个控制选项来在Carbon环境中启动应用程序。
您也可以指定该关键字的类型为Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持这些类型的值。如果您在您的属性列表中加入了该关键字,那么就不要同时加入LSPrefersCarbon, LSRequiresCarbon,或LSRequiresClassic关键字。
LSRequiresCarbon
如果该关键字被设为“1”,启动服务将只在Carbon环境中运行应用程序。如果您的应用程序不应该运行在Classic环境中的话,可以使用该关键字。
您也可以指定该关键字的类型为Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持这些类型的值。如果您在您的属性列表中加入了该关键字,那么就不要同时加入LSPrefersCarbon, LSPrefersClassic,或LSRequiresClassic关键字。
LSRequiresClassic
如果该关键字被设为“1”,启动服务将只在Classic环境中运行应用程序。如果您的应用程序不应该运行在Carbon兼容环境中的话,可以使用该关键字。
您也可以指定该关键字的类型为Boolean或Number。然而,只有Mac OS X 10.2或以上的版本才支持这些类型的值。如果您在您的属性列表中加入了该关键字,那么就不要同时加入LSPrefersCarbon, LSPrefersClassic,或LSRequiresCarbon关键字。
LSUIElement
如果该关键字被设为“1”,启动服务会将该应用程序作为一个用户界面组件来运行。用户界面组件不会出现在Dock或强制退出窗口中。虽然它们通常作为后台应用程序运行,但是如果希望的话,它们也可以在前台显示一个用户界面。点击属于用户界面组件的窗口,应用程序将会处理产生的事件。
Dock和登录窗口是两个用户界面组件应用程序。
应用程序包关键字
应用程序打包的目的是把一个应用程序打包成一个自我包含的实体,并且对用户隐藏了它的内容。然而,用户常常希望操作应用程序的某些文件。例如,用户可能希望添加或删除某个插件,本地化资源,等等。开发者可以在Info.plist 文件中指定一些可以由用户维护的项目。那么Finder会把这些项目显示在束的信息面板中,并允许用户浏览,删除或添加这些项目。
CFBundleInstallerInfo
应用程序打包信息的根关键字是CFBundleInstallerInfo。该关键字定义了一个字典,它包含了表A-7中所列出的关键字。“是否必须”列指出了哪些是您必须支持的功能。
表A-7应用程序打包关键字
关键字
|
类型
|
是否必须
|
摘要
|
APInstallerURL |
String |
Yes |
一个指向您希望安装的文件的URL路径。 |
APFiles |
Array |
Yes |
一组字典,描述了那些可以被安装的文件或目录。 |
APInstallerURL
APInstallerURL关键字指定了一个指向您希望安装的文件的路径。您必须以file://localhost/path/ 形式来说明这个路径。所有被安装的文件必须位于这个文件夹中。
APFiles
APFiles关键字指定了一个字典,描述了您希望安装的文件。每个字典条目可以包含某个文件或目录的描述。您可以让APFiles 关键字包含在其自身中,用于指定在目录内部的文件。表A-8列出了用来指定有关单个文件或目录的信息。
表A-8 APFiles字典关键字
关键字
|
类型
|
描述
|
APFileDescriptionKey |
String |
用来显示在Finder的信息窗口中的简短描述。 |
APDisplayedAsContainer |
String |
如果值为“Yes”,该项目作为一个目录图标显示在信息面板中;否则,它被显示为一个文档图标。 |
APFileDestinationPath |
String |
一个安装组件的相对路径。 |
APFileName |
String |
文件或目录的名称。 |
APFileSourcePath |
String |
指向应用程序包中组件的路径,相对与APInstallerURL路径。 |
APInstallAction |
String |
操纵组件的动作:“Copy”或者“Open |
相关推荐
在这个"自己写的一个存取.plist文件Demo"中,我们将探讨如何使用Objective-C来读取和保存数据到`.plist`文件。 1. **`.plist`文件结构**: `.plist`文件可以存储基本数据类型,如字符串、数字、布尔值、日期、数组...
6. **开发者应用**:对于iOS开发者来说,.plist文件是配置Info.plist(应用元数据)、.entitlements(权限声明)等关键信息的地方。 7. **安全性和隐私**:.plist文件可能包含敏感信息,因此在查看或分享时要注意...
例如,如果我们需要实现应用程序的本地化,那么我们需要在Info.plist文件中添加CFBundleDisplayName字段,并在适当的.lproj子目录中的InfoPlist.strings文件中添加相应的本地化值。 Info.plist文件是Xcode中一个...
在本文中,我们将深入探讨如何使用C#语言读取和写入iPhone中的plist文件,以及如何构建相关的工程文件。 首先,理解.plist文件: .plist文件全称是Property List,它是Apple操作系统(包括iOS和macOS)中的一种标准...
.plist文件是苹果操作系统中广泛使用的配置和数据存储格式,主要用于iPhone、iPad等iOS设备以及Mac OS X系统中的应用程序。这个标题“plist文件编辑器”暗示我们讨论的是一个专门设计用于在Windows平台上编辑这类...
1. **.plist文件结构**:`.plist`文件主要包含键值对,键通常是字符串,值可以是各种类型,如字符串、数字、布尔值、日期、数据、数组、字典等。XML格式的.plist文件易于阅读,而二进制格式则更紧凑,读写速度更快。...
ios在解锁或者备份shsh文件时,从手机里获取的plist文件是打不开的,我们可以通过java转成xml或者可以打的plist。shsh文件备份, import java.io.*; import com.dd.plist.PropertyListParser; public class ...
本文将详细介绍如何使用名为"PlistEdit Pro"的工具来编辑macOS和iOS设备中的plist文件,并探讨与此相关的技术要点。 1. **PlistEdit Pro简介**: PlistEdit Pro是一款专为Mac设计的高效plist文件编辑器,支持XML和...
本DEMO旨在教授如何在iPhone和iPad上读取、写入和保存plist文件。下面我们将详细探讨这些操作。 1. **读取plist文件** 要读取plist文件,首先需要获取文件路径。在iOS中,文件通常存储在沙盒的不同目录下,如...
可以编辑从iPhone等iOS设备导出的plist文档,直接修改代码 可进行代码修改,如修改存档,去广告,或者是一些其他功能
例如,当你在iPhone上更改应用的设置时,这些更改就会被保存到相应的.plist文件中。 `plisteditor 2.5.0`是针对Windows用户的友好工具,它允许用户无需安装Apple的开发环境(如Xcode)就能查看和修改.plist文件。这...
为了实现客户端在后台时仍能保持连接,我们需要在Info.plist文件中设置所需的后台模式。例如,"App communicates using Core Bluetooth"或"App provides Voice over IP services"等,这取决于具体的应用需求。同时,...
这可能涉及到修改`platforms/iPhoneOS.platform/Info.plist`文件中的`SDKVersion`键值。 7. 完成以上步骤后,重启旧版Xcode,现在你应该能够选择新添加的SDK来编译针对iOS 12.1的程序了。 需要注意的是,这种方法...
同时,还需在项目的Deployment Info中,选择`Status Bar Style`下的`Hide during application launch`,这样在应用启动时,状态栏就会被隐藏。 2. `Info.plist`文件: `Info.plist`是每个iOS应用中的一个重要文件...
iphone里的.plist文件一般采用binary格式(编码后的, 也就是平时大家所说"乱码" 的文件)保存.两种格式的 plist 在 iPhone 上都可以使用. 如果用文本编辑器直接修改二进制文件, 会造成文件的损坏. 自己用Python写了...
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件,增加两项PROVISIONING_PROFILE_ALLOWED = NOPROVISIONING_PROFILE_REQUIRED = NO。然后,将文件内的所有...
在iOS开发中,Plist文件尤其常见,因为它们提供了简单的方式来管理应用中的数据。 ### Plist文件结构 Plist文件可以以XML或二进制格式存在。XML格式的人读性更强,便于调试和查看,而二进制格式则更小、更快,适用...
项目需要一个省市镇plist文件,网上找了,只有省市的。手里面有excel版本的数据,算了自己写一个吧。...3.网上随便下载个plist文件编辑器,复制内容到plist文件中。 4.保存导入到xcode,还是比较完美的。