CFBundleUrlTypes 在 Info.plist 中可见,但在它的 XCode 视图中不可见

Posted

技术标签:

【中文标题】CFBundleUrlTypes 在 Info.plist 中可见,但在它的 XCode 视图中不可见【英文标题】:CFBundleUrlTypes visible in the Info.plist but not in the XCode view of it 【发布时间】:2016-04-14 09:47:19 【问题描述】:

我正在调试我在 ios 9 上的 Facebook iOS SDK 4.10 集成(它可以工作,但登录总是通过 web 视图完成,并且不会打开 Facebook 应用程序)。

我有一个CFBundleUrlTypes 的问题,我已经通过 XCode 添加它(很多次):Project > Info > Url Types...事实上它是持久的,因为我可以:cat Info.plist|grep -C 10 -i urltypes 并得到:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string></string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb$(FACEBOOK_APP_ID)</string>
        </array>
    </dict>
</array>

但我重新启动 XCode,它在项目信息中不再可见。

【问题讨论】:

【参考方案1】:

从 iOS9 开始,Facebook 使用 Safari 视图控制器进行登录,而不是快速的应用切换。 SDK 基本上会尝试为用户确定可能的最佳体验,因此这可能就是您总是被路由到基于 Web 的登录的原因。

这也是为了绕过你在iOS9中看到的“APPNAME要打开OTHERAPP”。

https://developers.facebook.com/docs/ios/ios9#faqhttps://developers.facebook.com/docs/ios/ios9#faq 此处的文档略有提及

【讨论】:

所以你的意思是这是正常的,我不应该尝试对此做任何事情?

以上是关于CFBundleUrlTypes 在 Info.plist 中可见,但在它的 XCode 视图中不可见的主要内容,如果未能解决你的问题,请参考以下文章

无法读取对象属性

IOS 应用程序在添加时在 info.plist 中缺少目的字符串

IOS 应用程序在添加时在 info.plist 中缺少目的字符串

Facebook Actionscript API 登录

为自定义类型扩展 spdlog

Google 登录在 IOS 上崩溃,但在 Android 上运行良好