![](/img/trans.png)
[英]Ionic 3: Deeplink using Universal Link on iOS not opening app
[英]Universal Link is not opening in app in 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
}
創建了名為apple-app-site-association的json文件
{ "applinks": { "apps":[], "details": { "teamId.com.test.testApp": { "paths":["*"] } } } }
我簽署了apple-app-site-association文件,但是由於使用的是iOS9,因此無需簽署。
我實現了方法application:continueActivity並返回YES。
您的apple-app-site-association JSON文件格式不正確-細節字典中缺少appID密鑰,即
{
"applinks":
{ "apps":[],
"details": [
{
"appID": "teamId.com.test.testApp",
"paths":["*"]
}
]
}
}
您可以在以后使用Apple驗證工具進行驗證。
還要注意,即使您在iOS9上,您仍然需要通過https提供apple-app-site-association文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.