我们的iOS应用最近遭到了苹果的拒绝,因为它无法与我们的服务器api建立有效的连接。我们正在使用一种特殊格式的用户代理来注册设备 token ,依此类推。如果用户代理不适合我们的sheme,则api会阻止该请求。

在模拟器以及真实设备上测试应用程序,一切都非常顺利。用户代理设置正确,并且api调用正常工作。

当Apple测试该应用程序时,他们拒绝了该应用程序,因为该应用程序无法连接到api。在检查服务器日志文件时,我们注意到,Apple测试人员发出的每个请求都具有与代码中设置的用户代理完全不同的用户代理。

(正确的)用户代理,它是在我们测试应用程序时设置的:
AppName-App/010002 iOS/8.1.2 on Apple iPhone/DeviceToken
(不正确的)用户代理,它出现在我们的日志中:
AppName/1.0.0.2 (iPad; iOS 8.1.3; Scale/2.00)
该应用程序使用AFNetworking并按如下所示设置其用户代理:
ConnectionManager.requestSerializer.setValue(IOSREQUESTHEADER, forHTTPHeaderField: "user-agent")
您是否知道为什么在Apple测试该应用程序时该方法不起作用,而当我们这样做时完全可以吗?

此致

最佳答案

我尝试使用以下代码更改用户代理
[self.requestSerializer setValue:@"VAL" forHTTPHeaderField:@"user-agent"];
但在将@"user-agent"重命名为@"User-Agent"之前没有任何作用

关于ios - 在AFNetworking中设置用户代理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29477229/

10-13 03:25