配置Info.plist (设置状态栏样式、自定义定位时系统弹出的提示语、配置3DTouch应用快捷菜单)

时间:2023-03-08 15:17:19
配置Info.plist (设置状态栏样式、自定义定位时系统弹出的提示语、配置3DTouch应用快捷菜单)

一、概述

iOS中很多功能需要配置Info.plist才能实现,如设置后台运行、支持打开的文件类型、自定义访问隐私内容时弹出的提示等。了解Info.plist中各字段及其含义,可以访问苹果开发网站相关文档,https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009248-SW1

二、如何修改

Info.plist是xml格式的文件,可以新建一个文本文件,修改内容后命名为Info.plist,然后将文件放置在代码包里面的res文件夹下,云编译时会将里面的内容添加到编译工程里面的Info.plist中。

三、示例

1、设置状态栏样式:

UIStatusBarStyle字段取值有UIStatusBarStyleDefaultUIStatusBarStyleBlackOpaqueUIStatusBarStyleBlackTranslucent,苹果官方文档:https://developer.apple.com/libr ... uid/TP40009252-SW14

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleDefault</string>
</dict>
</plist>
2、自定义定位时系统弹出的提示语:

两个字段可以单独配置,也可以同时配置。目前云编译工程中已经配置了这两个字段,对应的值为空字符串,可以在这里进行修改。NSLocationWhenInUseUsageDescription为请求应用使用期间获取位置信息的提示框中的提示语;NSLocationAlwaysUsageDescription为请求未使用应用期间也可以获取位置信息的提示框中的提示语(后台定位必须配置该字段),一般配合来使用,苹果官方文档:https://developer.apple.com/libr ... uid/TP40009251-SW26

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSLocationWhenInUseUsageDescription</key>
<string>这是在使用应用的时候获取位置信息时弹出的提示语,一般用来说明为什么使用定位</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>这是在未使用应用的时候获取位置信息弹出的提示语,一般用来说明为什么使用后台定位</string>
</dict>
</plist>
3、配置3DTouch应用快捷菜单:

苹果官方文档:https://developer.apple.com/libr ... uid/TP40009252-SW36

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIApplicationShortcutItems</key>
<array>
<dict>
<key>UIApplicationShortcutItemType</key>
<string>com.mycompany.myapp.openfavorites</string>
<key>UIApplicationShortcutItemTitle</key>
<string>Favorites</string>
<key>UIApplicationShortcutItemSubtitle</key>
<string></string>
<key>UIApplicationShortcutItemIconFile</key>
<string>widget/image/open-favorites</string>
<key>UIApplicationShortcutItemUserInfo</key>
<dict>
<key>key1</key>
<string>value1</string>
</dict>
</dict>
<dict>
<key>UIApplicationShortcutItemType</key>
<string>com.mycompany.myapp.newmessage</string>
<key>UIApplicationShortcutItemTitle</key>
<string>New Message</string>
<key>UIApplicationShortcutItemIconType</key>
<string>UIApplicationShortcutIconTypeCompose</string>
<key>UIApplicationShortcutItemUserInfo</key>
<dict>
<key>key2</key>
<string>value2</string>
</dict>
</dict>
</array>
</dict>
</plist>

各字段解释:

UIApplicationShortcutItemType:(必填)快捷菜单项的标识,一般为com.mycompany.myapp.myaction这种格式

UIApplicationShortcutItemTitle:(必填)菜单标题

UIApplicationShortcutItemSubtitle:(可选)菜单副标题

UIApplicationShortcutItemIconType:(可选)使用系统提供的图标,可参考苹果文档里面列出的所有样式,注意有的只iOS9.1以后才生效。https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIApplicationShortcutIcon_Class/index.html#//apple_ref/c/tdef/UIApplicationShortcutIconType

UIApplicationShortcutItemIconFile:(可选)使用自定义图标。图标必须单色的png格式图片,尺寸建议为105*105,这里需要把图片放在widget目录下面。指定了该项后将忽略系统图标项。

UIApplicationShortcutItemUserInfo:(可选)自定义信息