从自定义键盘中的UIWebView启动包含应用程序

时间:2015-05-03 23:52:19

标签: ios swift uiwebview xcode6 custom-keyboard

由于你只能通过正常路线从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。

1 个答案:

答案 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将不会接受键盘。

2014年9月15日更新:

openURL not work in Action Extension

我发现有些人正在尝试这样做,所以请检查一下。

有人说他们的应用被苹果接受了。(我不知道这是真的)