我们的 iOS 应用最近被 Apple 拒绝,因为它无法与我们的服务器 api 建立有效连接。我们使用特殊格式的用户代理来注册设备 token 等。如果用户代理不适合我们的 sheme,api 会阻止请求。
无论是在模拟器上还是在真实设备上测试应用程序,它都运行良好。用户代理已正确设置并且 api 调用有效。
当 Apple 测试该应用程序时,他们拒绝了它,因为该应用程序无法连接到 API。当我们检查服务器日志文件时,我们注意到,Apple 测试人员发出的每个请求都有一个与我们在代码中设置的完全不同的用户代理。
在我们测试应用程序时设置的(正确的)用户代理:
<em>AppName</em>-App/010002 iOS/8.1.2 on Apple iPhone/<em>DeviceToken</em>
(不正确的)用户代理,因为它出现在我们的日志中:
<em>AppName</em>/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/