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)
    当你设置了视图的透明度,它所有的子视图都被渲染成同样的透明度,但会在它后面被渲染。
     
  • 相关阅读:
    JS LeetCode 1423. 可获得的最大点数简单题解
    SpringBoot 学集 (第六章) Docker
    Linux 学记 (第三章)
    Linux 学记 (第二章)
    Linux 学记 (第一章)
    SpringBoot 学集 (第五章) Web开发续
    SpringBoot 学集 (第四章)Web开发
    SpringBoot 学集 (第三章) 日志框架
    SpringBoot 学集 (第二章) 配置文件
    SpringBoot 学集 (第一章)
  • 原文地址:https://www.cnblogs.com/adamleung/p/3494651.html
Copyright © 2011-2022 走看看