Apple에서 iOS 앱을 제출하려고합니다. 하지만 그들은 IPv6 문제로 인해 내 앱을 거부했습니다. IPv6 네트워크에서 서버에 연결하려고 시도했지만 성공하지 못했습니다.
우리는 서버 측을 변경했습니다. 이제 우리 서버는 IPv6을 사용할 준비가되었습니다 (ipv6test.com에서 테스트했는데 모든 것이 좋았습니다).
내 앱에서 URLSession.shared.dataTask을 사용하여 요청을 만듭니다. 그들은 우리의 서버에 연결할 수없는 이유
이신속한 IPv6 지원
var urlRequest: URLRequest = URLRequest(url: myServerUrl);
urlRequest.httpMethod = "POST";
..... //preparing POST data, setting timeout, etc.
urlRequest.httpShouldHandleCookies - true;
let task = URLSession.shared.dataTask(with: urlRequest, completionHandler: {(data: Data?, response: URLResponse?, error: Error?) in
do {
guard let resp = response as? HTTPURLResponse else { throw NetworkError.connectionError;} //here they got a problem
....
}
catch {...}
내가 이해가 안 : 그리고 애플은 코드의 같은 라인에 문제가있어. 우리 네트워크 (IPv4)에서 모든 것이 좋습니다.
그리고 이상한 일 : 나는 어제 10시 5 분에이 앱을 보냈다. 10시 30 분에 Apple 네트워크에서 한 건의 요청을 보았으며 성공했습니다 (200 상태). 그들은이 앱에서 심지어 승인 할 수 없다고 썼기 때문에 매우 이상하게 보입니다.
제발, 누군가이 상황을 도울 수 있습니까? 나는 이해할 수 없다. 문제는 어디에 있으며, 나는 무엇을해야만 하는가?
SIM 카드가있는 물리적 장치가 있습니까? –
불행히도, 아니오. SIM이없는 물리적 장치가 있습니다. 그리고 에뮬레이터에서 내 애플 리케이션을 테스트했습니다. 하지만 제출하기 전에 SIM 카드가있는 실제 기기 2 대에 앱을 설치했는데 모든 것이 정상적으로 작동했습니다. – user3533397
문제는 IPv6와 관련이 없으며 Apple이 (일부 이유로) 앱에서 권한을 부여하지 못했을 가능성이 있습니다. 문제가 코드의이 특정 부분과 관련이 있다고 생각하는 이유는 무엇입니까? –