使用[UIApplication sharedApplication]打开URL表现奇怪

时间:2015-04-06 16:15:03

标签: ios objective-c uiapplication

我正在编写一个iOS应用程序,通过让人们注册博彩公司来实现货币化。博彩公司提供的服务一直在变化,因此我的想法是挑选最好的服务,并在我的服务器上托管链接URL。然后,应用程序将从我的服务器获取URL并将用户定向到该URL。

我用来进行重定向的功能是:

- (IBAction)SignUp:(id)sender {

    NSError *error;
    NSURL *url = [NSURL URLWithString:@"http://myserver.com?bookie=offer"];
    NSString *content = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
    NSLog(@"%@", content);
    if (content != nil)
    {
        NSLog(@"Doing it");
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:content]];
    }
    else{
        NSLog(@"Not Doing it");
    }
}

我可以看到从我的服务器读取了正确的网址,并且该应用似乎是"正在做的",但没有任何反应。

如果我将行[[UIApplication sharedApplication] openURL:[NSURL URLWithString:content]];替换为[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.bookie.com/offer"]];,那么一切正常。

我非常感谢任何指示,谢谢。

1 个答案:

答案 0 :(得分:0)

因此,此行实际上会保存该网址上的任何内容的字符串,您不需要(根据您的问题)。那将是从该页面或许多其他东西解析数据。你只需要NSURL。

NSString *content = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];

所以当你在这一行保存NSURL时

NSURL *url = [NSURL URLWithString:@"http://myserver.com?bookie=offer"];

稍后再使用网址

[[UIApplication sharedApplication] openURL:url];

这样可以正常工作。