如何在iOS中将用户从浏览器重定向到应用程序?

时间:2014-10-31 14:07:37

标签: ios uicollectionview

我是iOS开发中的新手我制作了一个显示宝莱坞新闻的应用程序。因为我制作了包含新闻头行的表格视图,当选择UITableViewCell然后重定向到浏览器阅读新闻。这很好。这里所有数据是JSON数据。

我写的代码是: -

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
   NSDictionary *dictionary=[self.dataArray objectAtIndex:indexPath.section];
   NSString *url=[dictionary valueForKey:@"link"];
   [[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
 }

这里字典键是"链接"它包含url它工作正常,url打开到我的Simulater浏览器,但问题是当用户想要返回时如何将用户从浏览器重定向到应用程序。如果有可能解决方案?那请帮帮我

3 个答案:

答案 0 :(得分:0)

是的,可能有一个解决方案。 您必须注册您的应用程序的自定义URL方案,并在您的网页上放置链接。 您可以在此处阅读更多内容:http://www.idev101.com/code/Objective-C/custom_url_schemes.html

答案 1 :(得分:0)

没有通用的方法。最糟糕的是,UIApplication -openURL:方法的文档说:

  

网址可以在相同或其他应用中找到资源。如果   资源是另一个应用程序,调用此方法可能会导致调用   应用程序退出,以便可以启动另一个。

如果您想这样做,请不要致电-openURL:,推送webView来展示网址内容,并提供后退按钮以返回您的桌面视图。

答案 2 :(得分:0)

点击应用中的链接会打开一个新的网络浏览器应用,这意味着您无法控制它,也无法添加自己的按钮或链接。

但是,如果您是已打开网站的网站管理员,则可以create and use custom url schemes

我不认为这是你的情况,所以我能想到的下一个最佳解决方案是在新的网络浏览器应用程序中打开链接,让它在UIWebView里面打开你的申请。然后你可以添加按钮,链接,导航栏等。


如何添加UIWebView

的基础知识
UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];  //Change self.view.bounds to a smaller CGRect if you don't want it to take up the whole screen or use autolayout
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"YOUR_LINK_URL"]]];
[self.view addSubview:webView];