我们的iOS应用程序最近被Apple拒绝,因为它无法建立与我们的服务器API的有效连接.我们使用特殊格式的用户代理来注册设备令牌等.如果用户代理不适合我们的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测试应用程序,而它完全没问题吗?
最好的祝福