Xcode13中info.plist找不到目标键时如何添加Facebook登录配置
问题概述
在Xcode 13环境下,当键名列表中找不到需要添加的键名时,如何将下述代码片段添加到info.plist文件中。
需要添加的代码片段:
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fbAPP-ID</string> </array> </dict> </array> <key>FacebookAppID</key> <string>APP-ID</string> <key>FacebookClientToken</key> <string>CLIENT-TOKEN</string> <key>FacebookDisplayName</key> <string>APP-NAME</string>
详细说明
为使用SwiftUI开发的应用集成Facebook登录API时,根据Meta开发者指引要求,需要在info.plist中添加上述配置。按照常规操作路径进入自定义iOS目标属性面板(项目名 -> target -> info -> Custom iOS target properties),尝试通过以下步骤添加键值:
- 点击加号添加按钮
- 在弹出的键名列表中搜索目标键名
但无法在列表中检索到以下所需键:
- CFBundleURLSchemes
- CFBundleURLTypes
- FacebookAppID
- FacebookClientToken
目前已经完成指引中要求的前置配置步骤。
当前开发环境:
- macOS Monterey v12.1
- Xcode Version 13.2.1 (13C100)
- SwiftUI
解决方法
Xcode 13新建的SwiftUI项目中,Target的Info属性面板默认只展示系统预设的常用键,Facebook集成所需的自定义键、部分非高频系统键不会出现在下拉候选列表中,可通过以下两种方式完成配置:
方法一:源码模式直接粘贴(效率最高)
- 在Xcode左侧项目导航栏定位
Info.plist文件,若导航栏文件较多可直接在底部搜索框输入文件名快速查找 - 右键点击该文件,依次选择
Open As->Source Code,切换到源码编辑视图 - 找到根节点下的
<dict>起始标签,将需要添加的配置代码直接粘贴到该标签内部的空白位置,注意不要拆分、破坏原有已存在的键值对结构 - 替换代码中的占位符为实际参数:
fbAPP-ID替换为fb前缀拼接你的Facebook应用IDAPP-ID替换为你的Facebook应用IDCLIENT-TOKEN替换为Meta开发者后台对应的客户端令牌APP-NAME替换为你的应用对外显示名称
- 按
Command+S保存文件,切回Property List视图即可校验已添加的配置项。
方法二:属性面板手动输入自定义键
如果不需要编辑源码,可直接在属性面板手动输入键名,无需依赖下拉列表的候选选项:
- 在Custom iOS target properties面板选中任意已有键,点击加号新增行
- 不要等待下拉列表加载候选值,直接双击键名输入框,完整输入目标键名(键名区分大小写,需完全匹配要求字段)
- 按照配置要求依次设置每个键的类型和值:
- 新增
CFBundleURLTypes键,类型设为Array,在该数组下新增一个Dictionary类型的子项;在这个字典内新增CFBundleURLSchemes键,类型设为Array,给该数组添加字符串类型子项,值为fb拼接你的Facebook应用ID - 回到属性根层级,新增
FacebookAppID键,类型设为String,值为你的Facebook应用ID - 新增
FacebookClientToken键,类型设为String,值为Meta后台获取的客户端令牌 - 新增
FacebookDisplayName键,类型设为String,值为你的应用显示名称
- 新增
注意:手动输入键名时需严格匹配字段拼写,大小写错误会导致配置无法生效。
内容的提问来源于stack exchange,提问作者Mina
相关产品推荐
相关产品推荐

