首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSExtensionContext openURL不工作

NSExtensionContext openURL不工作
EN

Stack Overflow用户
提问于 2014-07-03 02:11:14
回答 4查看 6.2K关注 0票数 5

我正在尝试从扩展启动容器应用程序。容器应用程序有一个有效的URL方案(例如://),我可以通过在Safari中导航到该URL来验证这一点。

当我尝试使用-NSExtensionContext的openURL:completionHandler:来启动容器应用程序时,我得到了一个不成功的回调,什么也没有发生。

iOS 8Beta2的变化表明openURL方法现在应该可以工作了,但这仍然是一个错误还是我做错了什么?

EN

回答 4

Stack Overflow用户

发布于 2014-07-05 17:24:51

我使用以下代码在Today扩展中工作:

代码语言:javascript
复制
NSExtensionContext *myExtension=[self extensionContext];
[myExtension openURL:[NSURL URLWithString:@"http://google.com"] completionHandler:nil];

但是,它可能在Action Extensions中不起作用。从documentation

每个扩展点确定是否支持此方法,或在哪些条件下支持此方法。在iOS 8.0中,只有Today扩展点支持此方法。

票数 10
EN

Stack Overflow用户

发布于 2014-07-14 23:34:22

我的解决方案是创建一个UIWebView并加载一个包含url的请求

票数 3
EN

Stack Overflow用户

发布于 2014-12-01 19:51:55

如果使用unicode字符,则必须转换为utf8字符串。

代码语言:javascript
复制
NSString* toUtf8= [yourString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString *urlString = [NSString stringWithFormat:@"openMap://?lat=%f&lon=%f&%@",[self.koordX floatValue],[self.koordY floatValue],toUtf8];

[self.extensionContext openURL:[NSURL URLWithString:urlString]  completionHandler:nil];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24538161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档