首页 文章

允许从第三方应用中的链接打开我的应用

提问于
浏览
0

我目前正在使用自定义URL方案,允许用户从自定义链接( foobar://resource/42 )访问我的应用程序(例如, FoobarApp ) .

我这样设置了这个方案:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.acme.foobarapp</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>foobar</string>
        </array>
    </dict>
</array>

当用户单击Safari中的链接时,这很有效 .

现在我希望他们能够点击第三方应用程序中的链接(在我的案例中为Trello),以打开我的应用程序 .

这不起作用,因为系统(因为iOS 9,如果我没有记错)现在要求他们想要查询的应用程序白名单URL方案(使用Info.plist中的 LSApplicationQueriesSchemes ) .

(当我点击第三方应用中的链接时,这是我在日志中收到的消息:

iPad Trello(UIKit)[2368]:-canOpenURL:URL失败:“foobar:// resource / 42” - 错误:“此应用程序不允许查询方案foobar”

它_1113719_计划到他们的 LSApplicationQueriesSchemes 名单 . 他们对这种保护有什么选择吗?一种告诉系统"It's fine, Trello can open my app"的方法?

摘要

  • 自定义应用程序链接 foobar:// 在Safari中工作

  • 他们不在第三方应用程序中工作(没有任何反应,请参阅日志几行)

  • 如何将第三方应用列入白名单,以便他们可以打开我的应用?

1 回答

  • 1

    一个应用程序必须告诉ios它想要查询url方案 . 它必须在编译时在其信息plist中声明它!

    在苹果允许的iPhone上无法解决这个问题 .

    当你越狱手机时,一切都可以完成,但......这也不是一个有效的假设;)


    解决方法可能是通过HTTP链接到网站,让用户从那里打开应用程序 .

相关问题