2013-10-08 1 views
3

난 그냥 iOS 용 새로운 넷플릭스 애플리케이션을 해고하고 내 애플 TV에 비디오를 AirPlay를하려고에, 나는이 메시지를 가지고 : 나는 그들이이 일을 할 수있어 궁금 해서요 그래서Apple TV의 버전을 검색 할 수있는 API가 있습니까?

You'll need to update your Apple TV before you can watch this show using AirPlay

을 . 앱이 AirPlay 용으로 선택된 Apple TV의 버전을 검색 할 수 있도록하는 공개 API가 있습니까? 아니면 Netflix가이를 감지하는 다른 방법을 사용합니까?

답변

3

실제로 이런 식으로 끌기가 어렵지 않습니다. 우리는 두 가지 일을해야 할 것입니다 : 1) 우리가 AirPlay 장치에 연결했을 때를 알기 위해 오디오 경로가 언제 변경되는지 듣고, 2) 정보를 얻기 위해 AirPlay 장치를 네트워크에서 검색합니다.

오디오 경로가 변경되면 알림을 받으면 새 경로에 대한 정보를 얻을 수 있습니다. 우리에게 가장 중요한 점은 AirPlay 장치의 출력 포트 이름입니다. 일단 우리가 알고 있다면 우리가 알고있는 모든 AirPlay 장치를 반복하여 출력 포트의 이름과 일치하는 장치를 찾을 수 있습니다. 해당 장치가 있으면 TXT 레코드에서 정보를 얻을 수 있습니다. TXT 레코드에는 실행중인 소프트웨어 버전에 대한 정보가 들어 있습니다.

샘플 프로젝트를 Github으로 푸시했습니다.이 프로젝트의 세부 사항은이 프로젝트를 어떻게 처리했는지 자세히 설명합니다. 이것은 경로가 변경 될 때 처리하는 정말 간단한 프로젝트입니다. 이 코드를 사용하여 실행하고 싶다면 MPMoviePlayerViewController를 제시 할 때와 같이 특정 장소에서 수표를 추가하고 싶을 수도 있습니다.

EDIT : 포트 이름이 AirPlay 장치의 이름과 같아지기 때문에 이것은 매우 까다로운 점에 유의하십시오. Apple이 이러한 것들 중 하나를 변경하면 이는 중단됩니다. 또는 장치의 TXT 레코드의 "deviceid"필드를 포트의 UID와 비교할 수 있습니다. 포트의 UID는 "-airplay"문자열이 첨부 된 deviceid입니다. 다시 말하지만, 그것이 애플에 의해 변경된다면, 그것은 깨질 것입니다. 그러나 적어도 그것은 또 다른 잠재적 인 점검 방법입니다.

관련 문제