我正试图从基于TVML的应用程序链接到应用商店上的一个项目。这可能吗?如果可能,我将如何处理presenter.js中的外部链接?
找到了一个解决方案:注册TVJS可以与之对话的Swift函数。
//Javascript code from presenter.js
goToApp('<customUrlOfApp>://');
和
/* AppDelegate.swift jsContext Function */
func appController(appController: TVApplicationController, evaluateAppJavaScriptInContext jsContext: JSContext){
let goToApp : @convention(block) (NSString!) -> Void = {
(url : NSString!) -> Void in
if let appURL = NSURL(string: url as String) {
UIApplication.sharedApplication().openURL(appURL)
print("[GoToUrl]: (url)n")
}
}
jsContext.setObject(unsafeBitCast(goToApp, AnyObject.self), forKeyedSubscript: "goToApp")
}