由于你只能通过正常路线从Today扩展而不是自定义键盘启动包含应用程序,我一直在尝试启动UIWebView并通过其URL方案启动包含应用程序的hacky版本。大部分时间都是从这篇文章获得帮助:launch containing app from iOS8 Custom Keyboard,但我不允许对答案发表评论,因为我是新的堆栈溢出。
无论如何,现在这样做,UIWebView正在弹出,但只是显示一个空白的白色方块而不是启动URL方案。已经尝试从Safari访问URL方案,我知道启动应用程序,所以不知道为什么它没有做任何事情。现在我在按下右键时的方法中的代码是:
let urlkey = NSURL(string: "MYAPP://")
let webAppView = UIWebView(frame: CGRectMake(0, 0, 100, 100))
let request = NSURLRequest(URL: urlkey!)
webAppView.loadRequest(request)
self.view.addSubview(webAppView)
任何关于为什么视图中没有加载的想法,或者从自定义键盘启动包含应用程序的其他方法,这些都是值得赞赏的。使用XCode 6.3和Swift。
答案 0 :(得分:1)
无法通过键盘扩展程序启动其他应用程序。
像today-widget-extension这样的其他扩展可以使用如下所示。
NSURL *pjURL = [NSURL URLWithString:@"hostingapp://home"];
[self.extensionContext openURL:pjURL completionHandler:nil];
//https://stackoverflow.com/questions/24019820/today-app-extension-widget-tap-to-open-containing-app
但是,键盘扩展名没有任何反应。
//我想......
如果您在键盘上实现启动应用程序的成功,Apple将不会接受键盘。
openURL not work in Action Extension
我发现有些人正在尝试这样做,所以请检查一下。
有人说他们的应用被苹果接受了。(我不知道这是真的)