Xcode中的Info.plist字段列表详解

Posted brave-sailor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode中的Info.plist字段列表详解相关的知识,希望对你有一定的参考价值。

Info.plist用于向ios提供关于appbundle或者framework的一些重要信息。它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多。Info.plist文件实际上是苹果预定义schemaXML文件。

    为了构建一个设备相关的健,你在健的后面要加上~iphone或者~ipad

 

 

常用字段:


  1.获取版本信息:

    NSDictionary*infoDic = [[NSBundle mainBundle] infoDictionary];

    NSString *localVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];

 

  2.应用支持http网络请求:

    Info.plist中添加 NSAppTransportSecurity 类型 Dictionary
    NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES

    注意类型NSAppTransportSecurityDictionaryNSAllowsArbitraryLoadsBoolean,复制粘贴的时候,不要多了空格,segment fault 页面上直接复制,经常会多一个出空格!

 

 

 

控制应用的名称:


 表A-1 控制应用的名称

字段

类型

是否必须

摘要

CFBundleName

String

Yes

bundle的简称, 这个健指定了你的应用的名称

CFBundleDisplayName String

No

本地化的bundle名, 本地化,可以通过InfoPlist.strings文件来为每个语言指定一个合适的值

 

 

CFBundleDisplayName

 

CFBundleDisplayName字段指定了一个字符串值来标识bundle的显示名称。Finder和其他用户界面组件会把它显示给用户。这个名 称可以与文件系统中的bundle名不同。通过把字段加入适当的.lproj子目录中的InfoPlist.strings文件,就可以实现该字段的本地 化。如果您需要本地化这个字段,您还应该提供一个CFBundleName字段的本地化版本。

 

 

CFBundleName

 

CFBundleName指定了该bundle的简称。简称应该小于16个字符并且适合在菜单和关于中显示。通过把它加入到适当的.lproj子文件 夹下的InfoPlist.strings文件中,该字段可以被本地化。如果您本地化了该字段,那您也应该提供一个 CFBundleDisplayName字段的本地化版本。

 

 

应用标识+应用版本:


 表A-2应用标识+应用版本

字段

类型

是否必须

摘要

CFBundleIdentifier

String

YES

该bundle的唯一标识字符串。该字符串的格式类似java包的命名方式,例如:com.apple.myapp。

CFBundleShortVersionString

String

YES

这个值是一个字符串,用来指定你在APP Store上面看的的版本号,这个值必须在每一次App Store发布版本中递增

CFBundleVersion

String

YES

可执行文件的创建号,  这个健的值是一个证书,你可以在每一次发布时增加它。

CFBundleIdentifier

 

CFBundleIdentifier字段指定了bundle的一个唯一的标识字符串。该标识符采用了类似Java包的命名方式,例如com.apple.myapp。该bundle标识符可以在运行时定位bundle。预置系统使用这个字符串来唯一地标识每个应用程序。

   

它包含一个唯一标识的字符串,它是从你在iOS Provisioning Portal创建的App ID取得的 App ID包含两个部分:Team IDBundle ID

 

CFBundleShortVersionString

 

CFBundleShortVersionString字段指定了bundle的版本号。一般包含该bundle的主、次版本号。这个字符串的格式通常是 “n.n.n”n表示某个数字)。第一个数字是bundle的主要版本号,另两个是次要版本号。该字段的值会被显示在Cocoa应用程序的关于对话框 中。

   

该字段不同于CFBundleVersion,它指定了一个特殊的创建号。而CFBundleShortVersionString的值描述了一种更加正式的并且不随每一次创建而改变的版本号。

 

 

 

CFBundleVersion

 

CFBundleVersion字段指定了一个字符串用来标识创建号。该字段的值通常随每一次创建而改变,并且会被显示在Cocoa”关于对话框中的扩号里。
   

    为了指定一个发布版的bundle的版本信息,可以使用CFBundleShortVersionString字段。参见“CFBundleShortVersionString”

 

 

获取用户权限信息:


  用来访问用户信息的Reason strings  iOS6中需要从用户那里得到授权的数据

 //Calendars,Contacts Location,Photos,Reminders

 

表A-3 获取用户权限信息

 

 

字段

类型

是否必须

摘要

NSCalendarsUsageDescription

String

No

当应用第一次视图访问用户的日历的时候,会出现一个弹出框来向用户请求权限。如果你对这个键设置了一个值,那么这个值将会显示在弹出框中

NSContactsUsageDescription

String

No

应用第一次尝试访问用户的通讯录的时候,会出现一个弹出框申请权限。就像是前一个键,你对这个键指定的值,将会显示在弹出框中

NSPhotoLibraryUsageDescription

String

No

同上,照片

NSRemindersUsageDescription

String

No

同上,备忘录

NSLocationUsageDescription

String

No

同上,位置信息

 

 

 

应用图标:


 

 

表A-4 应用图标

 

字段

类型

是否必须

摘要

CFBundleIconFile

String

No

图标文件的文件名- 3.2版本被废弃

UIPrerendered Icon

Boolean

No

这个键自从第一个iOS SDK就有了,它告诉iOS是否给你应用的图标添加光照效果

CFBundleIconFiles

 Array No

这个键的引入,是用来处理在iPadretina屏幕的出现时,所需图标数量的增长的。这个健的值应该是一个字符串数组 - 5.0版本被废弃CFBundleExecutable

CFBundleIcons

NSDictionary

No

这个健是iOS 5.0增加的,可以让开发者指定Newsstand图标和普通应用的图标

 

CFBundleIconFile

 

CFBundleIconFile字段指定了包含该bundle图标的文件。您给出的文件名不需要包含“.icns”扩展名。Finder会在该bundle“Resource”文件夹内寻找图标文件。

如果您的bundle使用了自定义的图标,那您就必须指定该属性。假如您没有指定,Finder(和其他应用程序)会使用缺省的图标来显示您的bundle

 

 

 

控制应用初始化启动:


 表A-5 控制应用初始化启动

 

字段

类型

是否必须

摘要

UILaunchImageFile

String

No

启动图片

NSMainNibFile

String

No

应用程序的主nib文件名, 如果你用NIB的话,这个就是一个很重要的键。它指定了当你应用启动的时候,用于创建初始化窗口和相关对象的NIB文件

UIMainStoryboardFile

String

No

如果你用Storyboard的话,这是一个很重要的键。它指定可一个storyboard文件,用于在应用启动的时候创建初始界面

 

NSMainNibFile

 

NSMainNibFile字段包含了一个含有应用程序的主nib文件名(不包含.nib文件扩展名)的字符串。一个nib文件作为一个 Interface Builder的存档文件,含有对用户界面的详细描述信息以及那些界面中的对象之间的关联信息。当应用程序被启动时,主nib文件会被自动装载。Mac OS X会寻找与应用程序名相匹配的nib文件。

 

 

用户界面:


 

 

表A-6  用户界面

 

字段

类型

是否必须

摘要

UISupportedInterfaceOrientations

Array

No

这个键的值是一个你应用支持的屏幕方向的数组

UIInterfaceOrientation

String

No

如果你的应用值支持一个方向,那么你应该设置这个键。它保证在你应用启动的时候,状态栏在正确的方向,而不是启动的时候在一个方向,然后又通过动画移动到另外一个方向。

UIStatusBarStyle

 

String

No

设置应用启动时状态栏的初始风格

UIStatusBarHidden

 

BOOL

 

No

这个键表示,在应用启动的时候,状态栏是否隐藏。

UIStatusBarTintParameters

 

NSDictionary

 

No

状态栏可以进行一些美化

 

 

 

UISupportedInterfaceOrientations

 

 

这个键的值是一个你应用支持的屏幕方向的数组。可用选项有:

   UIInterfaceOrientationPortraitHome键在下方的竖屏模式

   UIInterfaceOrientationPortraitUpsideDownHome键在上方的竖屏模式

   UIInterfaceOrientationLandscapeLeftHome键在左方的竖屏模式

   UIInterfaceOrientationLandscapeRightHome键在右方的竖屏模式

 

 

UIStatusBarStyle

 

 

 这个键设置应用启动时状态栏的初始风格。UIStatusBarStyle的枚举值:

   UIStatusBarStyleDefaultUIStatusBarStyleBlackTranslucent

 UIStatusBarStyleBalackOpaque

 

UIStatusBarTintParameters

 

iOS6中状态栏可以进行一些美化,在这个字典中又四个键:

  Style:表示导航条的barStyle属性

  Translucent:表示导航条的translucent属性

  TintColor:这个指定了导航条的修饰颜色。

  groundImage:如果你的导航条有背景图片,那么在这里把图片的文件名写上。

 

应用控制:


 表A-7 应用控制

 

字段

类型

是否必须

摘要

UIRequiredDeviceCapabilities

Array/Dictionary

No

    它能让你指定设备必须要有的特性,或者设备必须不能有的特性

UIBackgroundModes

Array

No

当你需要你的应用在后台运行时,就需要这个后台模式,数组里包含应用需要的所有后台模式

MKDirectionsApplicationSupportedModes

Array

No

 这个iOS6新增加的一个键。它允许你为特定的区域和交通模式指定你的应用的路由信息

UIDeviceFamily

Number/Array

No

 Xcode自动添加这个键,所以你不需要自己添加。它表示应用支持哪些设备

CFBundleGetInfohtml

UIAppFonts

Array

No

 如果你需要额外的字体。这个键可以为你的应用添加非标准的字体

UIApplicationExitsOnSuspend

Boolean

No

 如果这个键设置为true,那么应用将会直接中断,而不是切换到后台

UIFileSharingEnabled

Boolean

No

如果你希望用户能用iTunes的文件共享功能将文件从你的应用的document目录传入或传出,那么你需要设置这个键的值为Xcode 在 Info.plist Localizations 设置中显示有限的语言列表

Xcode Buildtime 错误:'无法加载文件列表的内容:'.../Info.plist'(在目标'xxxx'中)

关于 Info.plist 文件和 Xcode 5

“帮助修复”错误:无法从文件中读取属性列表:info.plist

UIUserInterfaceStyle 键在 Xcode 12 的 Info.plist 中不可用,如何从 Info.plist 禁用 Xcode 12 中的暗模式?

Xcode 找不到本地化的 info.plist

(c)2006-2024 SYSTEM All Rights Reserved IT常识