使用 [UIApplication sharedApplication] 打开 URL 行为异常

Using [UIApplication sharedApplication] to open URL behaving strange

我正在编写一个 iOS 应用程序,该应用程序通过让人们注册博彩公司来获利。博彩公司的报价一直在变化,所以我的想法是挑选出最好的报价,并在我的服务器上托管 link 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");
    }
}

我可以看到从我的服务器读取了正确的 URL,而且该应用似乎是 "Doing it",但没有任何反应。

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

非常感谢任何指点,谢谢。

所以这一行实际上保存了 URL 上任何内容的文字字符串,您不需要它(根据您的问题)。那将用于解析来自该页面或许多其他内容的数据。你只需要 NSURL.

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

所以当你保存NSURL这一行

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

以后就用url

[[UIApplication sharedApplication] openURL:url];

这样就可以了。