zoukankan      html  css  js  c++  java
  • Info.plist的秘密(raywenderlich笔记)

    Info.plist用于向iOS提供关于app,bundle活着framework的一些重要信息。它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多。

     
    Info.plist文件实际上是苹果预定义schema的XML文件。
     
    为了构建一个设备相关的健,你在健的后面要加上~iphone或者~ipad。
     
    每个健代表的意思
     
    控制应用的名称
    CFBundleName(String)
    这个健指定了你的应用的名称。
     
    CFBundleDisplayName(String)
    本地化,可以通过InfoPlist.strings文件来为每个语言指定一个合适的值
     
    应用标识
    CFBundleIdentifier(String)
    它包含一个唯一标识的字符串,它是从你在iOS Provisioning Portal创建的App ID取得的
    App ID包含两个部分:Team ID和Bundle ID
     
     
    应用版本
    CFBundleShortVersionString(String)
    这个值是一个字符串,用来指定你在APP Store上面看的的版本号,这个值必须在每一次App Store发布版本中递增
     
    CFBundleVersion(Integer)
    这个健的值是一个证书,你可以在每一次发布时增加它。
     
    应用图标
    CFBundleIconFile(String - 在3.2版本被废弃)
    这是指定应用图标最早的方法。
     
    UIPrerenderedIcon(Boolean)
    这个键自从第一个iOS SDK就有了,它告诉iOS是否给你应用的图标添加光照效果。
     
    CFBundleIconFiles(Array - 在5.0版本被废弃)
    这个键的引入,是用来处理在iPad和retina屏幕的出现时,所需图标数量的增长的。这个健的值应该是一个字符串数组。
     
    CFBundleIcons(Dictionary)
    这个健是iOS 5.0增加的,可以让开发者指定Newsstand图标和普通应用的图标。
     
    控制应用初始化启动
    UILaunchImageFile(String)
    启动图片
     
    NSMainNibFile(String)
    如果你用NIB的话,这个就是一个很重要的键。它指定了当你应用启动的时候,用于创建初始化窗口和相关对象的NIB文件。
     
     
    UIMainStoryboardFile(String)
    如果你用Storyboard的话,这是一个很重要的键。它指定可一个storyboard文件,用于在应用启动的时候创建初始界面。
     
    用来访问用户信息的Reason strings
    iOS6中需要从用户那里得到授权的数据。
     
     
    NSCalendarsUsageDescription(String)
    当应用第一次视图访问用户的日历的时候,会出现一个弹出框来向用户请求权限。如果你对这个键设置了一个值,那么这个值将会显示在弹出框中。
     
     
    NSContactsUsageDescription(String)
    应用第一次尝试访问用户的通讯录的时候,会出现一个弹出框申请权限。就像是前一个键,你对这个键指定的值,将会显示在弹出框中。
     
    NSPhotoLibraryUsageDescription(String) 照片
    NSRemindersUsageDescription(String)    备忘录
    NSLocationUsageDescription(String)       位置信息
     
    自定义URL和文档类型
     
    CFBundleURLTypes(Array)
    这个键可以让你指定一个你的应用支持的URL的一个数组。这个数组包含的元素是字典,每一个都代表你应用支持的一种URL规则,有如下的键:
    CFBundleURLSchemes : 字符串数组,每一个元素代表这个规则支持的URL
    CFBundleTypeRole :当打开这个URL时你的应用所扮演的角色。
    CFBundleURLIconFile : 指定对这种URL所使用的图标的文件名
    CFBundleURLName :这应该时一个唯一的字符串,用来区分不同的URL类型
     
    CFBundleDocumentTypes(Array)
    这个键可以让你指定你的应用可以处理哪种类型的文档。
    这个数组中的值都是一个字典,包含如下的键
    CFBundleTypeIconFiles:图标文件的数组
    CFBundleTypeName:唯一的字符串,区分URL类型
    LSItemContentTypes
    LSHandlerRank
     
    UIImportedTypeDeclarations(Array)
    为了允许你的应用打开那些不属于它的类型,你需要导入那个UTI,并且这个时你要用到的键。
     
    使用iCloud
    NSUbiquitousDisplaySet(String)
    iCloud使用这个键来表示你应用的文件存储。可以把它想象成iCloud中的一个目录用来存放你应用中的文件。
     
     
     
    Core OS
    ***********以下为系统自动修改,不用手动修改*******
    LSRequiresIPhoneOS(Boolean)
    这个键时iOS应用运行在设备上面必须的,并且它的值必须时true。
     
    CFBundlePackageType(String)
    在iOS中,你至处理应用,但在Mac中,Info.plst还可以引用其他类型的项目
     
    CFBundleExecutable(String)
    iOS中的应用会被打包成.app文件。在这个文件中包含了所有的资源,并且还有一个可执行文件。这个键时一个字符串,用来指定可执行文件的名称。
     
    CFBundleInfoDictionaryVersion(String)
    Info.plst的结构很可能会随着时间改变,那么就需要告诉操作系统,当前这个文件对应的版本是什么。
     
    CFBundleSignature(String)
    这个键和Mac有关,和iOS没有特别的关系。
     
     
     
    本地化
    CFBundleLocalizations(Array)
    系统通过查找你应用提供的Iproj目录来决定你的应用支持哪些语言地区。这个键的值是一个字符串数组,数组中的每一个值都代表支持的地区。
     
    CFBundleDevelopmentRegion(String)
    当你开发你的应用的时候,你通常会使用你本地的语言来写它。这个键的值是一个字符串,如果用户请求的区域没有必须的资源的话,它用来表示默认的本地化区域。
     
    用户界面
    UISupportedInterfaceOrientations(Array)
    这个键的值是一个你应用支持的屏幕方向的数组。可用选项有:
    UIInterfaceOrientationPortrait:Home键在下方的竖屏模式
    UIInterfaceOrientationPortraitUpsideDown:Home键在上方的竖屏模式
    UIInterfaceOrientationLandscapeLeft:Home键在左方的竖屏模式
    UIInterfaceOrientationLandscapeRight:Home键在右方的竖屏模式
     
     
    UIInterfaceOrientation(String)
    如果你的应用值支持一个方向,那么你应该设置这个键。它保证在你应用启动的时候,状态栏在正确的方向,而不是启动的时候在一个方向,然后又通过动画移动到另外一个方向。
     
    UIStatusBarHidden(Boolean)
    这个键表示,在应用启动的时候,状态栏是否隐藏。
     
    UIStatusBarStyle(String)
    这个键设置应用启动时状态栏的初始风格。
    UIStatusBarStyle的枚举值:   UIStatusBarStyleDefault、
                                                 UIStatusBarStyleBlackTranslucent、
                                                 UIStatusBarStyleBalackOpaque
     
     
    UIStatusBarTintParameters(Dictionary)
    在iOS6中状态栏可以进行一些美化。
    在这个字典中又四个键:
         Style:表示导航条的barStyle属性
         Translucent:表示导航条的translucent属性
         TintColor:这个指定了导航条的修饰颜色。
         groundImage:如果你的导航条有背景图片,那么在这里把图片的文件名写上。
     
    应用控制
    UIRequiredDeviceCapabilities(Array or Dictionary)
    它能让你指定设备必须要有的特性,或者设备必须不能有的特性。
     
    UIBackgroundModes(Array)
    当你需要你的应用在后台运行时,就需要这个后台模式。
    数组里包含应用需要的所有后台模式,可以从以下几个值里面选择:
         audio:使用音频框架来播放或者录制音频。
         location:需要在后台访问用户的位置信息。
         voip:这个应用支持IP语音,需要在后台进行Internet连接和音频播放。
         newsstand-content:使用Newsstand API在后台下载并处理内容,这允许当一个代表有新的可用发布的推送发进来的时候唤醒应用。
         external-accessory:使用External Accessory框架来和外部的设备惊醒通讯
         bluetooth-central:使用CoreBluetooth框架和外部设备进行通讯
     
    MKDirectionsApplicationSupportedModes(Array)
    这个iOS6新增加的一个键。它允许你为特定的区域和交通模式指定你的应用的路由信息。
     
    UIDeviceFamily(Number or Array)
    Xcode自动添加这个键,所以你不需要自己添加。它表示应用支持哪些设备。
     
    UIAppFonts(Array)
    如果你需要额外的字体。这个键可以为你的应用添加非标准的字体。
     
     
    UIApplicationExitsOnSuspend(Boolean)
    如果这个键设置为true,那么应用将会直接中断,而不是切换到后台。
     
    UIFileSharingEnabled(Boolean)
    如果你希望用户能使用iTunes的文件共享功能将文件从你的应用的document目录传入或传出,那么你需要设置这个键的值为true。
     
    UINewsstandApp(Boolean)
    如果 你的应用时Newsstand类型的,那么你应该将这个键设置为true。
     
    UIRequiresPersistentWiFi(Boolean)
    iOS在默认情况下,如果设备30分钟没有活动,它就会关闭WiFi连接。如果你设置这个键的值为true,那么这个行为会被覆盖,只要你的应用是打开的,网络连接就不会关闭。
     
    UISupportedExternalAccessoryProtocols(Array)
    这个键指定了和附加的硬件设备通讯的协议。
     
    高级视图控制
    UIViewEdgeAntialiasing(Boolean)
    默认情况下,你的视图被iOS的渲染系统绘制,不包括反锯齿功能。这是因为不是用反锯齿运行速度会快很多。
     
    UIViewGroupOpacity(Boolean)
    当你设置了视图的透明度,它所有的子视图都被渲染成同样的透明度,但会在它后面被渲染。
     
  • 相关阅读:
    thinkPHP 无法加载控制器:Hello
    在html中引用分享的链接
    div中iframe高度自适应问题
    php编写tcp服务器和客户端程序
    Maximum Subsequence Sum (25)——改进版
    水仙花数——升级版
    数据结构实验八——队列打印杨辉三角
    数据结构实验七——循环队列
    数据结构实验六——链队列
    水仙花数(20)
  • 原文地址:https://www.cnblogs.com/adamleung/p/3494651.html
Copyright © 2011-2022 走看看