在“中打开”;(空)“;?ios9中的对话框

在“中打开”;(空)“;?ios9中的对话框,ios,ios9,url-scheme,Ios,Ios9,Url Scheme,因此,我正在尝试将自定义URL方案添加到我的应用程序中。一切正常。令人困惑的是,当用户被重定向时,会出现一个对话框,上面写着: 是否在“(空)”中打开 我不明白为什么它说空,而不是应用程序的名称。我能看到的唯一一个提到这个问题的地方是: 但这意味着要更新到最新的SDK。它确实提到了我尝试使用LSApplicationQueriesSchemes进行的方案白名单,但这似乎也无法解决问题。该对话框中的值在构建设置->打包->产品名称中指定。有没有可能,那个字段是空白的?通常情况下,如果是这样的话,

因此,我正在尝试将自定义URL方案添加到我的应用程序中。一切正常。令人困惑的是,当用户被重定向时,会出现一个对话框,上面写着:

是否在“(空)”中打开

我不明白为什么它说空,而不是应用程序的名称。我能看到的唯一一个提到这个问题的地方是:


但这意味着要更新到最新的SDK。它确实提到了我尝试使用LSApplicationQueriesSchemes进行的方案白名单,但这似乎也无法解决问题。

该对话框中的值在构建设置->打包->产品名称中指定。有没有可能,那个字段是空白的?通常情况下,如果是这样的话,构建应该会失败,而且你可能也会在主屏幕上注意到一些错误,但谁知道呢


顺便说一句,URL方案不再是处理深度链接的万无一失的方法,事实上苹果公司并不鼓励这种做法。至少,你还需要实现通用链接,但即使这样也不是一个完整的解决方案,因为其他应用程序(Facebook等)处理出站链接的方式各不相同。你可能想考虑一个工具(完全公开:我在分支团队)来帮助所有的后勤工作。

< P>我找到了关于iOS 9

的白名单URL方案。 使用SDK 9构建的任何应用程序都需要在其plist文件中提供一个LSApplicationQueriesSchemes条目,声明它试图查询的方案

LSApplicationQueriesSchemes
URL方案
urlscheme2
urlscheme3
urlscheme4

这对我来说起到了摆脱它的作用。

因此,在我的例子中,以下内容被添加到了我的Info.plist中:

<key>CFBundleDisplayName</key>
<string></string>
CbundleDisplayName

删除此键或为其指定一个非空字符串值可修复此问题,并使其在“应用程序名称”中指定:Open。

感谢您的输入。我检查了产品名称,果然是正确的。我查看了通用链接,但在这种情况下,我不会将它们带到任何网站页面。它是用于Oauth身份验证的,因此只应返回应用程序。在我的测试中,它似乎有时能将其发送到应用程序,有时不在任何地方,因为除了这个奇怪的消息,URL方案方法每次都能正常工作。嗯……没有其他东西会立即出现在我的脑海中。您尝试过产品->清洁吗?只是再次尝试,以确保我有相同的东西,是的。谢谢heLL0。正如您在我的问题中所看到的,我确实尝试添加了LSApplicationQueriesSchemes,但这并没有解决我的问题。这似乎是在处理从应用程序内部调用urlscheme的问题,而我没有这样做。我从Safari调用url方案。添加此选项为您解决了什么问题?
<key>CFBundleDisplayName</key>
<string></string>