ファイルに URL タイプを作成しました。info.plist
その URL スキームはhttp
です。NSUserActivity
タイプを作成しました。UIWebView
「ViewController」クラスで資格を作成しました。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 を返します。
- しかし、私のリンクはアプリではなく、サファリで開かれています。