繁体   English   中英

以“(null)”打开吗? iOS 9中的对话框

[英]Open in “(null)”? dialog in iOS 9

因此,我正在尝试向我的应用添加自定义URL方案。 一切正常。 令人困惑的部分是,当用户被重定向时,它会显示一个对话框,其中显示:

以“(空)”打开?

我不知道为什么它说空而不是应用程序的名称。 我能够看到的唯一一个其他问题是:

在iOS9和Swift 2升级后,从FacebookSDK登录中出现的“以“空”打开此页面”模态

但这涉及到更新到最新的SDK。 它确实提到了将我尝试使用LSApplicationQueriesSchemes尝试的方案列入白名单的方法,但这似乎也无法解决。

该对话框中的值在Build Settings-> Packaging-> Product Name中指定 碰巧那个领域是空白吗? 通常,如果是这样,构建应该会失败,并且大概您还会在主屏幕上注意到一些错误,但是谁知道呢!

附带说明一下,URL方案已不再是处理深层链接的万无一失的方法,实际上,Apple一直不鼓励使用。 至少,您还需要实现通用链接,但是由于其他应用程序(Facebook等)处理出站链接的方式有所不同,因此即使这也不是一个完整的解决方案。 您可能需要考虑使用Branch.io之类的工具(全面披露:我在Branch团队中)可以帮助您处理所有物流工作。

因此,以我为例,最终结果是以下内容已添加到我的Info.plist中:

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

删除此键或给它一个非空的字符串值都可以解决此问题并导致其给出:是否在“应用程序名称”中打开?

我发现了有关将iOS 9 urlschemes列入白名单的信息(在此处找到答案)

使用SDK 9构建的任何应用都需要在其plist文件中提供LSApplicationQueriesSchemes条目,以声明其尝试查询的方案。

<key>LSApplicationQueriesSchemes</key>
<array>
 <string>urlscheme</string>
 <string>urlscheme2</string>
 <string>urlscheme3</string>
 <string>urlscheme4</string>
</array> 

这对我来说是有效的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM