(iOS)与我的用户代理混在一起会让我的应用被拒绝吗?

时间:2012-10-12 16:04:37

标签: ios user-agent

在我的应用中,我使用以下类型的代码来破坏用户代理:

// Fake Firefox's user agent during web service's registration
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (compatible; Windows; U; Windows NT 6.2; WOW64; en-US; rv:12.0) Gecko/20120403211507 Firefox/12.0", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];

// Return to standard iOS user agent when web service registration is done
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];

我的应用程序的一部分允许用户使用“注册帐户”页面注册Web服务,这是我找到的唯一方法,可以阻止其网站自动启动一个页面,上面写着“下载我们的应用程序” !”是这样用于使用用户代理字符串。我已经尝试在NSMutableURLRequest中设置用户代理,但我还没有完成这项工作。 (是的,我已尝试在NSMutableURLRequest中设置“User-Agent”和“User_Agent”。)

我听说过这可能会让您的应用被Apple拒绝。任何人都可以确认或否认,或提出任何评论?谢谢!

2 个答案:

答案 0 :(得分:2)

  1. App Store上还有多个应用程序伪造用户代理。
  2. 设置NSLocalizedString语言的所有变通方法也为NSUserDefaults中的Apple密钥设置了自定义值
  3. 所以我认为Apple不会拒绝您的应用。

答案 1 :(得分:1)

我们在我们的应用程序中使用自定义用户代理,以便我们的服务器知道我们的应用程序正在调用 - 并传递额外数据,例如,应用程序是否具有视网膜屏幕。只要您不依赖于安全性,它就能很好地运行。结果没有任何东西被拒绝。