【问题标题】:codename one. IOS intercepting URLs issue.代号一。 IOS 拦截 URL 问题。
【发布时间】:2016-04-15 14:45:21
【问题描述】:

我希望我的应用程序能够在外部应用程序中打开时拦截 url。我设法使用带有url方案“http”的android.xintent_filter构建提示让它在android上运行。但是它不适用于ios。我完全按照此处的说明添加了此构建提示:http://www.codenameone.com/blog/intercepting-urls-on-ios-android.html ...

<key>CFBundleURLTypes</key>     <array>         <dict>              
<key>CFBundleURLName</key>               
<string>www.mibrand.co.za</string>           
</dict>         <dict>             <key>CFBundleURLSchemes</key>               
<array>                 <string>http</string>             </array>             
</dict>     </array> 

我什至尝试将 url 方案更改为“myapp”,因为我在某处读到 ios 不允许应用程序拦截 http url 方案,但它仍然不起作用。我做错了什么?

还有一点。我读到的关于 ios 和 http url 方案的内容是正确的。因为当我尝试将我的 android.xintent 构建提示中的 url 方案更改为“myapp”时,android 手机不会将文本作为链接,因此无法打开它们,所以我不得不使用 http url 方案。但是,如果这对 ios 不起作用,那么我就有点问题了。我该如何解决这个问题?

【问题讨论】:

    标签: android ios url codenameone


    【解决方案1】:

    您是否在使用 Facebook 集成 check this out。

    具体来说:

    但是,如果您使用 FacebookConnect 需要访问这些计划。解决方法 您可以使用构建提示 ios.urlScheme 例如:

    ios.urlScheme=<string>myapp</string>
    

    【讨论】:

    • 添加构建提示 ios.urlScheme 有效。安卓有没有类似的。因为当我在 android 上尝试 http 或 https 以外的方案时,它不会注册为链接
    • 我认为那里没有类似的东西,我建议使用您在 Android 上使用的 URL 过滤器发布一个新问题
    【解决方案2】:

    这在 iOS 上是不可能的。可以使用 info.plist 的 url scheme 部分中定义的 url 直接从其他应用程序打开应用程序,但它不能拦截来自其他应用程序的 http 调用。

    唯一的其他选择(如果 url 链接到您拥有的网站)是使用通用链接,通用链接是在 iOS 9 中引入的,可以在此处找到文档:https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

    请记住,通用链接仅适用于您拥有的网站,不适用于您不拥有的网站。

    【讨论】:

    • 是的,但是即使我将方案更改为“myapp”并单击链接,它仍然无法正常工作。我的权限也一定有问题
    猜你喜欢
    • 2016-08-28
    • 1970-01-01
    • 2013-06-04
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    相关资源
    最近更新 更多