代号一。 IOS 拦截 URL 问题。
Posted
技术标签:
【中文标题】代号一。 IOS 拦截 URL 问题。【英文标题】:codename one. IOS intercepting URLs issue. 【发布时间】: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 不起作用,那么我就有点问题了。我该如何解决这个问题?
【问题讨论】:
【参考方案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”并单击链接,它仍然无法正常工作。我的权限也一定有问题以上是关于代号一。 IOS 拦截 URL 问题。的主要内容,如果未能解决你的问题,请参考以下文章