tvOS topshelf 未启动应用程序
tvOS topshelf not launching application
我已经为示例 tvOS 应用程序设置了顶架,但单击顶架项目并没有启动该应用程序。我已经设置了显示 URL,但我不确定我做的是否正确...有人知道具体怎么做吗?
您可能错过了 .plist 文件中的 URL 方案。
我的info.plistURL方案:
我的显示URL 最上面的货架项目:
var displayURL: NSURL {
let components = NSURLComponents()
components.scheme = "openApplication"
components.path = "LiveStreamsViewController"
components.queryItems = [NSURLQueryItem(name: "channelID", value: String(self.id))]
return components.URL!
}
有了这个,如果用户点击顶部架子中的项目,应用程序将打开。在 appDelegate 中,您可以捕获 URL 并用它做其他事情:
func application(app: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {
// When the user clicks a Top Shelf item, the application will be asked to open the associated URL.
if let viewController = self.window?.rootViewController?.storyboard?.instantiateViewControllerWithIdentifier("liveStream") as? LiveStreamsViewController {
if let queryItemValue = NSURLComponents(URL: url, resolvingAgainstBaseURL: false)?.queryItems?.first?.value, let channelID = Int(queryItemValue) {
viewController.pageIndex = channelID
self.window?.rootViewController?.presentViewController(viewController, animated: true, completion: nil)
}
}
return true
}
在这个例子中,我打开了另一个视图控制器而不是主视图控制器。
我已经为示例 tvOS 应用程序设置了顶架,但单击顶架项目并没有启动该应用程序。我已经设置了显示 URL,但我不确定我做的是否正确...有人知道具体怎么做吗?
您可能错过了 .plist 文件中的 URL 方案。
我的info.plistURL方案:
我的显示URL 最上面的货架项目:
var displayURL: NSURL {
let components = NSURLComponents()
components.scheme = "openApplication"
components.path = "LiveStreamsViewController"
components.queryItems = [NSURLQueryItem(name: "channelID", value: String(self.id))]
return components.URL!
}
有了这个,如果用户点击顶部架子中的项目,应用程序将打开。在 appDelegate 中,您可以捕获 URL 并用它做其他事情:
func application(app: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {
// When the user clicks a Top Shelf item, the application will be asked to open the associated URL.
if let viewController = self.window?.rootViewController?.storyboard?.instantiateViewControllerWithIdentifier("liveStream") as? LiveStreamsViewController {
if let queryItemValue = NSURLComponents(URL: url, resolvingAgainstBaseURL: false)?.queryItems?.first?.value, let channelID = Int(queryItemValue) {
viewController.pageIndex = channelID
self.window?.rootViewController?.presentViewController(viewController, animated: true, completion: nil)
}
}
return true
}
在这个例子中,我打开了另一个视图控制器而不是主视图控制器。