什么是Info.plist?
注意:Info.plist文件首字母大写
Info.plist是苹果操作系统中的一个XML格式的配置文件,用于存储应用程序的基本信息和配置,如应用名称、版本号、支持的设备、权限、URL schemes等。
每个Xcode工程都会自动生成一个Info.plist文件,并包含在应用程序中。在应用程序启动时,操作系统会读取Info.plist文件中的配置信息,并根据配置信息来决定如何加载和运行应用程序。
了解Info.plist中各字段及其含义,可以访问苹果开发网站相关文档:
https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009248-SW1
每个key的含义是什么?
Key | 显示名称 | 含义 |
---|---|---|
NSAppleMusicUsageDescription | Privacy – Media Library Usage Description | 媒体库访问权限说明 |
NSBluetoothAlwaysUsageDescription | Privacy – Bluetooth Always Usage Description | 始终蓝牙访问权限说明 |
NSBluetoothPeripheralUsageDescription | Privacy – Bluetooth Peripheral Usage Description | 蓝牙访问权限说明 |
NSContactsUsageDescription | Privacy – Contacts Usage Description | 通讯录访问权限说明 |
NSCalendarsUsageDescription | Privacy – Calendars Usage Description | 日历访问权限说明 |
NSCameraUsageDescription | Privacy – Camera Usage Description | 相机访问权限说明 |
NSContactsUsageDescription | Privacy – Contacts Usage Description | 通讯录访问权限说明 |
NSFaceIDUsageDescription | Privacy – Face ID Usage Description | Face ID访问权限说明 |
NSHealthShareUsageDescription | Privacy – Health Share Usage Description | 共享健康数据访问权限说明 |
NSHealthUpdateUsageDescription | Privacy – Health Update Usage Description | 更新健康数据访问权限说明 |
NSHomeKitUsageDescription | Privacy – HomeKit Usage Description | 家庭访问权限说明 |
NSLocationWhenlnUseUsageDescription | 始终和使用期间定位访问权限说明 | |
NSLocationAlwaysAndWhenInUseUsageDescription | Privacy – Location Always and When In Use Usage Description | 请求用户授权使用应用程序的位置服务(只能在应用程序使用时使用定位服务) |
NSLocationAlwaysUsageDescription | Privacy – Location Always Usage Description | 始终定位访问权限说明 |
NSLocationUsageDescription | Privacy – Location Usage Description | 定位访问权限说明 |
NSLocationWhenInUseUsageDescription | Privacy – Location When In Use Usage Description | 在使用期间定位访问权限说明 |
NSMicrophoneUsageDescription | Privacy – Microphone Usage Description | 麦克风访问权限说明 |
NSMotionUsageDescription | Privacy – Motion Usage Description | 运动与健身访问权限说明 |
NSPhotoLibraryUsageDescription | Privacy – Photo Library Usage Description | 访问相册权限说明 |
NSPhotoLibraryAddUsageDescription | Privacy – Photo Library Additions Usage Description | 保存照片到相册访问权限说明 |
NSRemindersUsageDescription | Privacy – Reminders Usage Description | 提醒事项访问权限说明 |
NSSpeechRecognitionUsageDescription | Privacy – Speech Recognition Usage Description | 语音识别访问权限说明 |
NSSiriUsageDescription | Privacy – Siri Usage Description | Siri访问权限说明 |
NSSpeechRecognitionUsageDescription | Privacy – Speech Recognition Usage Description | 语音识别访问权限说明 |
Application require iPhone environment
应用程序是否需要iPhone环境运行,通常为true表示只能在iPhone设备上运行
Bundle name
应用程序的显示名称。程序安装后在界面上显示的名称。应用程序名字限制在10-12个字符,如果超出限制,将被显示缩写名称
Bundle indentifier
应用程序的唯一标识符,通常使用反向域名表示,例如”com.test.myapp”
模拟器上此字段没有什么意义,但是如果要发布App,则需要这个Bundle indentifier
Bundle OS Type code
应用程序支持的操作系统类型码,通常为"APPL"表示应用程序
Bundle versions string, short
应用程序的版本号,用于在应用商店和用户设备中标识版本号,通常为x.y.z格式
Bundle creator OS Type code
应用程序创建者的操作系统类型码
Bundle version
应用程序的构建版本号,用于在应用商店和用户设备中标识构建版本号。
每次部署应用程序的一个新版本时,应该增加这个编号,app store审核需要用
Executable file
`CFBundleExecutable`
用于指定包含应用程序二进制文件的文件名。该值是必需的,因为它指定了可执行文件的名称。应用程序二进制文件是应用程序的主要组成部分,因此需要该属性来正确识别和加载应用程序。
InfoDictionary version
文件的版本号,例如”1.0″
Localization native development region
`CFBundleDevelopmentRegion`
用于指定应用程序支持的本地化语言的默认语言。
当应用程序支持多种语言时,可以在Info.plist文件中使用Localization native development region
key指定默认语言。默认情况下,系统将使用此默认语言作为未本地化的字符串的语言。如果用户使用的语言与应用程序支持的语言不匹配,则会使用默认语言。
例如,如果将Localization native development region
设置为”en-US”,则应用程序默认使用英语作为未本地化字符串的语言。如果用户使用的语言不是英语或应用程序不支持用户使用的语言,则系统将使用默认语言。
在多语言环境下,本地化语言和字符串资源存储在应用程序的本地化资源目录中,如en.lproj
、zh-Hans.lproj
等。
Launch screen interface file base name
启动界面文件的基本名称,通常为LaunchScreen。
程序启动时的所加载的启动画面,主要成xib文件中加载,这里的值为LaunchScreen,说明从LaunchScreen.storyboard中加载。
Mian storyboard file base name
主故事板文件的基本名称,通常为Main。程序的启动时的主画面,此文件中的视图将作为程序启动后的主画面
Required device capabilities
应用程序所需的设备功能,例如相机、GPS等,需要在列表中列出
Supported interface orientations
程序默认支持的方向。应用程序支持的设备方向,通常为Portrait(竖屏)和Landscape(横屏)两种