我们的iOS应用程序最近被Apple拒绝,因为它无法与我们的服务器api建立有效连接.我们使用特殊格式的用户代理来注册设备令牌等.如果用户代理不适合我们的sheme,则api会阻止请求.
这一切都很好地在模拟器和真实设备上测试应用程序.用户代理设置正确,api调用工作正常.
当Apple测试应用程序时,他们拒绝了它,因为应用程序无法连接到api.当我们检查服务器日志文件时,我们注意到,Apple测试人员发出的每个请求都有一个完全不同的用户代理,而不是我们在代码中设置的用户代理.
(正确的)用户代理,在我们测试应用时设置:
Apple iPhone / Devicetoken上的AppName-App / 010002 iOS / 8.1.2
(不正确的)用户代理,因为它出现在我们的日志中:
AppName / 1.0.0.2(iPad; iOS 8.1.3;比例/ 2.00)
该应用程序使用AFNetworking并将其用户代理设置如下:
ConnectionManager.requestSerializer.setValue(IOSREQUESTHEADER,forHTTPHeaderField:“user-agent”)
你有任何想法为什么这不适用于Apple测试应用程序,而它完全没问题吗?
最好的祝福
解决方法
我尝试使用下面的代码更改我的用户代理
[self.requestSerializer setValue:@“VAL”forHTTPHeaderField:@“user-agent”];
但在将@“user-agent”重命名为@“User-Agent”之前无效