2016-06-05 3 views
18

내 iOS 앱에 IPv6 문제가 있습니다. 처음에는 IPv6 요구 사항 (https://developer.apple.com/news/?id=05042016a)에 대해 모르는 6 월 1 일 전 며칠 전에 제출했습니다.App Store 리뷰 팀에서 가지고있는 (IPv6?) 연결 문제를 재현 할 수 없습니다.

그들은 6 월 1 일에 검토되었으며 IPv6 비 호환성/거부 할 수 없음을 거부했습니다. 내 자신의 IPv6 네트워크를 설정하고 싶지 않았으므로 호환되도록 코드를 업데이트했습니다. Apple에서 제공 한 Reachability를 최신 버전으로 업데이트했습니다. 나는 또한 몇 년 전에 전 cofounder에 의해 쓰여진 내 자신의 다운로드 라이브러리를 사용하고 있습니다. 그것은 IP 주소 나 애플이 추천하는 것에 연결하지 않기 때문에 지금 업그레이드하지 않기로 결정했다. AFNetworking의 이전 버전도 사용하고 있습니다.

앱을 다시 제출했습니다. 같은 이유로 다시 거부되었습니다. 나는 가서 벼락치기 어댑터와 설치 IPv6을 구입했다. 이제 그 앱에 잘 연결됩니다. 또한 매우 오래된 도달 가능성 코드가있는 다른 앱에도 잘 연결할 수 있습니다. 내 주요 문제는 애플이 깨고있는 것과 똑같은 방식으로 깨고 싶기 때문이다.

주 :

- 내가 처음 IPv6 App Store Rejection에 코멘트를 게시하려면 시도했지만 너무 오래했다. 나는 트위터에 @andytriboletti이며 그 질문에 Sean이 링크되어있다.

-I 애플 개발자 포럼에 게시,하지만 여전히 10시간 후 승인을 기다리고 : https://forums.developer.apple.com/message/141461#141461

- 여기의 내 맥북 프로에 벼락 이더넷 어댑터를 사용하여 내 IPv6 네트워크를 설정하는 방법에 대해 설명합니다. https://developer.apple.com/library/tvos/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html

- OS 9.3.2를 실행하는 iPhone 6에서 테스트 중입니다. 내게 연결된 Apple의 기사에 설명 된대로 IPv6 네트워크 설정을 실행중인 Macbook Pro가 10.11.5를 실행 중입니다.

- 나는 Apple에서 테스트 한 정확한 버전을 테스트했습니다. buddybuild를 빌드 자동화 도구로 사용하고, iTunes에 업로드 된 버전으로 이메일을 보냈습니다.

- 앱이 네트워크 요청을 https://greenrobot.com (및 광고 및 분석 라이브러리 포함)으로 만듭니다. 내 코드에 하드 코드 된 IP 주소가 없습니다. GreenRobot은 IPv6 용으로 설정되었습니다. https://ip6.nl/#greenrobot.com

+0

광고 및 분석 라이브러리가 규정을 준수하는지 확인 했습니까? –

+0

필자는 여기서 Apple이 경험 한 오류를 재현 해보고 수정 사항을 확인할 수 없으면 코드를 업그레이드하지 않기를 원합니다. – Andy

+0

광고 또는 분석 코드에 오류가있을 수 있습니다 ... –

답변

4

가치가있는 점에 대해서도 나는 이것을 보았습니다. here과 논의 된 바와 같이, 6/14/16 문서와 App Review Team의 설정 간에는 분명히 차이가 있습니다.

2

의견 작성자가 제안한 것처럼 광고 및 분석 코드와 관련이없는 것으로 의심됩니다. IPv6과의 서버 호환성과 관련이있었습니다. 나는 Linode를 사용한다. 내 서버에서 내 리눅스 서버 관리자가 IPv6로 업그레이드했다. 광고 또는 분석 연결에 실패하면 조용히 실패하고 게임 플레이에는 문제가 없습니다. 문제는 IPv6에서만 작동하지 않는 게임 서버와 대화하는 것이 었습니다. http://ready.chair6.net/?url=https://greenrobot.com

흥미롭게도, Apple.com, Google.com, Facebook.com, Twitter.com 모든 비 준수 - http://ready.chair6.net/가 : 대답에 따르면

는 : https://stackoverflow.com/a/37689996/211457 나는 내 사이트의 호환성을 테스트하기 위해이 사이트를 사용했다. 이제는 내 사이트처럼 완전히 호환되는 유일한 도메인은 arin.net입니다.

이러한 변경을 마친 후 이제 앱이 승인되었습니다. 참고 연결이없고 적절한 오류 화면을 표시하는 것과 관련하여 몇 가지 오류 검사를 추가했습니다. 하지만 다른 Stackoverflow 포스터에도 IPv6 서버 문제가 있었기 때문에 오류 검사를 추가하면 앱이 갑자기 연결될 것이라는 점을 이해하지 못했지만 나는 그것이 서버 문제라고 확신했습니다.

또 다른 재미있는 점은 6 월 1 일 이후에 승인 된 업데이트가있는 iOS 개발자와 통화 한 것입니다. 그들은 AWS를 사용하고 있으며 AWS가 IPv6에서 작동하지 않는다는 것에 대해 내가 무엇을 말하고 있는지 전혀 알지 못했습니다. 매우 이상한 일이다. 애플이 단지 몇 퍼센트의 애플 리케이션에서만 IPv6을 필요로하지 않는다면 말이다.

편집 : 새로운 정보 : 아래의 의견에서 "서버가 IPv6 레코드를 가지고 있지만 (즉, IPv6을 지원한다고 주장하는) 서버의 IPv6 지원이 손상된 경우 IPv6에서는 분명히 작동하지 않습니다. 당신의 서버는 전혀 IPv6 기록을 가지고 있지 않습니다 (즉, IPv4 전용이라고 주장하는 것), 문제없이 작동해야합니다. "

+0

나는 이것이 그 것이지는 완전히 확신 할 수는 없지만, 나의 app 업데이트가 승인되어서, 나는이 답변을 남기고 싶지 않았다. 내가 말했듯이 내가 만든 IPv6 네트워크에서 테스트했을 때, 애플에 의해 거부 된 애플 리케이션 버전이 나를 위해 일했다! 당황 스럽지만, 나는이 대답을 단서로 사용했다 : http://stackoverflow.com/a/37689996/211457 답변자는 애플이 그 대답을 말해주는 전화를 받았다. 우리 팀이 솔루션을 구현하고 chair6 사이트를 사용하여 테스트 한 결과, 내 앱이 승인되었습니다. – Andy

+0

user102008 또한이 질문에 대한 의견을 참조하십시오. http://stackoverflow.com/q/37725762/211457 "내 DNS를 2001 : 778 :: 37로 변경하면 문제가 해결됩니다." – Andy

+0

@Andy 장치가 IPv6 네트워크에 연결되어 있습니다. 오류를 표시하는 IPv4에 연결된 API를 호출 할 때. 오류 도메인 = NSURLErrorDomain Code = -1003 "지정한 호스트 이름을 가진 서버를 찾을 수 없습니다." UserInfo = {NSErrorFailingURLStringKey =, _kCFStreamErrorCodeKey = 8 Please specify me – VJVJ

관련 문제