我可以在iOS8中使用自定义键盘启动浏览器吗?我创建了自定义键盘并添加了浏览器图标。现在我想在用户点击它时启动浏览器。从自定义键盘iOS 8启动浏览器?
回答
你可以使用NSExtensionContext类的api。 Btw。 NSExtensionContext对象表示调用应用程序扩展的主机应用程序上下文。
- (void)openURL:(NSURL *)URL
completionHandler:(void (^)(BOOL success))completionHandler
下面是一个示例:
NSURL *url = [NSURL URLWithString:@"http://www.google.com.com"];
NSExtensionContext *myExtension=[self extensionContext];
[myExtension openURL:url completionHandler:nil];
但有一个陷阱。 每个扩展点决定是否支持此方法,或者支持此方法的条件。
因此,在这种情况下,您应该使用WebView并在其中加载请求以重定向到浏览器。
EDIT1:
重定向从网页视图Safari浏览器试试这个:
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
//[[UIApplication sharedApplication] openURL:[inRequest URL]];
[myExtension openURL:url completionHandler:nil];
return NO;
}
而且如果需要直接启动本机应用程序使用预定义的方案,例如:
地图://
谢谢,但我也想打开一些应用程序来使用URlScheme – 2014-09-21 09:01:54
也可以在iOS模拟器中测试openUrl? – 2014-09-21 09:04:33
自定义的uri方案也可以用来处理其他应用程序。模拟器的行为也适用于这种情况。 – bllakjakk 2014-09-21 09:12:32
- 1. 自定义键盘不显示自定义键盘iOS 8
- 2. ios 8自定义键盘UIViewServiceInterfaceErrorDomain?
- 3. iOS 8自定义键盘扩展UIKeyboardType
- 4. iOS 8自定义键盘自动布局问题
- 5. iOS 8自定义键盘与外部蓝牙键盘
- 6. 使用自定义浏览器键盘快捷键
- 7. ios自定义键盘
- 8. 从自定义WebKit浏览器视图启动新的浏览器窗口
- 9. iOS的自定义键盘
- 10. UIActivityIndicatorView里面自定义键盘iOS 8不动画swift
- 11. iOS自定义键盘与振动
- 12. iOS 8自定义键盘防止关闭返回键
- 13. iOS自定义键盘短高度
- 14. 设备上的iOS 8自定义键盘
- 15. 在iOS 8自定义键盘中显示建议栏
- 16. ios 8自定义键盘保持按钮删除?
- 17. iOS 8自定义键盘的保存偏好
- 18. 添加自定义字体,键盘扩展IOS 8
- 19. iOS 8风景肖像模式中的自定义键盘
- 20. IOS 8:无法在自定义键盘中使用println
- 21. iOS 8自定义键盘self.view.frame返回0
- 22. iOS自定义键盘类型
- 23. UITextView自定义输入(无键盘)iOS
- 24. iOS自定义键盘扩展功能
- 25. 自定义键盘高度及以上的自定义键盘IOS
- 26. 如何在IOS中自定义键盘
- 27. 多选择的iOS自定义键盘
- 28. 自定义表情符号键盘IOS
- 29. iOS中的自定义键盘Objective-C
- 30. iOS自定义键盘内存限制
[iphone应用程序启动safari]的可能重复(http://stackoverflow.com/questions/822599/launch-safari-from-iphone-app) – n00bProgrammer 2014-09-21 07:56:58
自定义键盘不使用自己的应用程序上下文,但使用扩展上下文,所以我认为不重复。请重新认识。 – bllakjakk 2014-09-21 08:04:33
@ n00bProgrammer我想从iOS 8扩展而不是从iPhone应用程序启动浏览器。 – 2014-09-21 09:03:48