Universal Link未在iOS 9的应用程序中打开
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Universal Link未在iOS 9的应用程序中打开相关的知识,希望对你有一定的参考价值。
在info.plist
文件中创建了URL类型,其URL方案是http
。创建了NSUserActivity
类型。在'ViewController'类中创建了权利UIWebView
。在AppDelegate
方法中我实现了以下代码:
func application (application: UIApplication,willContinueUserActivityWithType userActivityType: String) -> Bool {
let sharedUserActivityType = "com.test.testApp"
if (userActivityType == sharedUserActivityType) {
return true
}
return false
}
@available(ios 8.0, *)
internal override func restoreUserActivityState(activity: NSUserActivity) {
//don't forget to call super!
if #available(iOS 8.0, *) {
super.restoreUserActivityState(activity)
let userInfo = activity.userInfo
} else {
// Fallback on earlier versions
}
}
func application(application: UIApplication, continueUserActivity
userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) ->
Void) -> Bool {
if userActivity == "com.test.testApp.view"
{
let mainListing = ViewController()
restorationHandler([mainListing])
}
if let window = self.window
{
window.rootViewController?.restoreUserActivityState(userActivity)
}
return true
}
func application(app: UIApplication, openURL url: NSURL, options:
[String : AnyObject]) -> Bool {
return true
}
- 我提到链接https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2
- 创建了名为apple-app-site-association的json文件
{ "applinks": { "apps":[], "details": { "teamId.com.test.testApp": { "paths":["*"] } } } }
- 我签署了apple-app-site-association文件,但由于我使用的是iOS9,因此无需签名。
- 我实现了方法应用程序:continueActivity并返回YES。
- 但我的链接不是在app中打开,而是在safari中打开。
答案
您的apple-app-site-association JSON文件格式不正确 - 详细信息词典中缺少appID密钥,即
{
"applinks":
{ "apps":[],
"details": [
{
"appID": "teamId.com.test.testApp",
"paths":["*"]
}
]
}
}
你可以使用Apple verification tool来验证这一点。
即使你在iOS9上也要注意,你仍然需要通过https提供apple-app-site-association文件。
以上是关于Universal Link未在iOS 9的应用程序中打开的主要内容,如果未能解决你的问题,请参考以下文章
跨平台应用开发进阶(三十四) :uni-app 应用 Universal Link 实现 iOS 微信分享
iOS - 好好利用Safari 之 通用链接 Universal Link
iOS防止在WKWebView中打开Universal Link( Prevent universal links from opening in WKWebView)