所以我试图在我的应用中添加自定义网址方案。一切正常。令人困惑的部分是当用户被重定向时,会出现一个对话框,上面写着:
打开"(null)"?
我无法弄清楚为什么它会显示null而不是应用程序的名称。我能够看到这个问题的另一个地方就在这里:
'Open this page in "null"' Modal appearing from FacebookSDK login after iOS9 and Swift 2 upgrade
但是谈到了更新到最新的SDK。它确实提到了我尝试使用LSApplicationQueriesSchemes进行的方案的白名单,但似乎并没有修复它。
答案 0 :(得分:1)
该对话框中的值在构建设置 - >中指定。包装 - >产品名称。不管怎样,那个领域有点空白吗?通常构建应该失败,如果是这样,并且可能你在主屏幕上也注意到了错误,但谁知道呢!
作为旁注,URL方案不再是处理深层链接的万无一失的方式,实际上苹果公司不鼓励这样做。至少,您还需要实施通用链接,但即使这不是一个完整的解决方案,因为其他应用程序(Facebook等)处理出站链接的方式也有所不同。您可能需要考虑像Branch.io这样的工具(完全披露:我在分支团队中),以便为所有后勤工作提供帮助。
答案 1 :(得分:1)
所以在我的情况下,最终得到以下内容已添加到我的Info.plist中:
<key>CFBundleDisplayName</key>
<string></string>
删除此密钥或为其提供非空字符串值可修复问题并导致其给出:打开&#34;应用程序名称&#34;?。
答案 2 :(得分:0)
我发现这是关于iOS 9 (found answer here)
的白名单urelchemes使用SDK 9构建的任何应用都需要在其plist文件中提供LSApplicationQueriesSchemes条目,声明它尝试查询哪些方案。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>urlscheme</string>
<string>urlscheme2</string>
<string>urlscheme3</string>
<string>urlscheme4</string>
</array>
这对我有所帮助。