我实现了将今天的小部件添加到我的应用中。今天的扩展包括一个UITableView。现在,如果按下了UITableView的单元格,我想打开应用程序。你们有人知道怎么做吗?
答案 0 :(得分:8)
今天,扩展程序可以访问NSExtensionContext
which allows you to open an app。在您的分机控制器中:
let myAppUrl = NSURL(string: "myapp://some-context")!
extensionContext?.openURL(myAppUrl, completionHandler: { (success) in
if (!success) {
// let the user know it failed
}
})
提供success参数是因为系统可能无法打开特定的URL(假设您要启动" twitter://"但是用户没有安装Twitter应用程序。你启动自己的应用程序,这不应该成为一个问题。
答案 1 :(得分:2)
Christopher Pickslay提供的代码工作正常,您只需要将以下行添加到应用程序的info.plist中(作为源代码打开):
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.mikitamanko.myapp</string>
<key>CFBundleURLSchemes</key>
<array>
<string>some-context</string>
</array>
</dict>
</array>
之后
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
以下是complete guide如何打开应用或分享带扩展程序的用户默认值和包含应用的内容。