iOS项目中Info.plist文件是干什么的?

本文详细介绍了iOS项目中Info.plist文件的各项参数含义,包括语言版本设置、程序显示名、版本号等,并解释了这些参数的具体作用。

这里写图片描述

每次创建项目时,在项目里都会有一个Info.plist文件,这个文件中的很多参数都是干什么的?

① Localization native development region

这个是与本地化相关的设置,是语言版本设置,默认为en,可以设置为china.

② Bundle name

这个是程序安装之后,显示在iPhone/iPad上的名字

③ Bundle version

项目版本号,对内公布,不对外公布。

④ Bundle version string,short

更精准的版本号,是在App store显示的版本号,eg:v1.0.1

⑤ Bundle identifier

应用的唯一标识,是用来发布到App store 用的,其命名规则为:
域名倒写(去除3w) + 应用名称 (英文)
com.tencent.qq

其他的就无关紧要啦!

iOS开发中,为了实现应用间的通信并确保安全性,苹果从iOS 9开始引入了`LSApplicationQueriesSchemes`字段。该字段用于定义应用允许查询的URL Scheme白名单,只有被列入白名单的URL Scheme才能通过`canOpenURL:`方法进行验证,并最终调用`openURL:`打开目标应用。 ### 配置步骤 #### 1.Info.plist文件中添加`LSApplicationQueriesSchemes` - 打开项目的`Info.plist`文件。 - 添加一个新的键 `LSApplicationQueriesSchemes`,其类型为 **Array**。 - 在数组中添加你希望与之交互的应用的URL Scheme(字符串类型)。 例如,如果你希望支持调用一个使用 `testapp://` 的应用,则需要将 `testapp` 添加到该数组中: ```xml <key>LSApplicationQueriesSchemes</key> <array> <string>testapp</string> </array> ``` #### 2. 确保被调用应用已正确配置CFBundleURLTypes 如果目标应用没有在自己的`Info.plist`文件中声明`CFBundleURLTypes`,则无法通过URL Scheme启动它。因此,被调用方必须在其`Info.plist`中包含类似以下内容: ```xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLName</key> <string>com.example.testapp</string> <key>CFBundleURLSchemes</key> <array> <string>testapp</string> </array> </dict> </array> ``` #### 3. 调用其他应用 在代码中,可以通过如下方式检查并尝试打开目标应用: ```objective-c NSURL *url = [NSURL URLWithString:@"testapp://"]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]; } else { NSLog(@"尚未安装目标应用"); } ``` 注意:在iOS 10及以上版本中,`openURL:`已被弃用,推荐使用`openURL:options:completionHandler:`方法。 ### 注意事项 - 如果未在`LSApplicationQueriesSchemes`中声明目标URL Scheme,即使目标应用存在,`canOpenURL:`也会返回`NO`[^2]。 - 白名单机制是双向的,调用者需要声明目标应用的Scheme,而目标应用也需支持被调用。如果目标应用没有正确配置`CFBundleURLTypes`,则无法响应调用请求[^1]。 - 开发过程中应确保双方应用都已完成配置,并进行充分测试以验证跨应用调用功能是否正常工作。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值