2012-10-04 3 views
1

프로그래밍 질문하지 정확하게에 통장을 설치하지만, 여기 간다 :방지 여러 장치

어떻게 통장을 배포하고 회사 이메일이나 웹을 통해 하나 개 이상의 장치에 설치되는 패스를 방지를 통과 할 수 있습니까?

Apple docs에서이 항목을 찾을 수 없습니다. 내가 생각할 수있는 유일한 방법은 장치 등록 웹 서비스에서 패스 유형과 시리얼의 조합에 이미 등록 된 장치가 있는지를 확인하고 삭제하는 것입니다. 그러나 패스를 원격으로 삭제하는 명령은 없습니다.

또 다른 옵션은 패스를 생성하기 전에 이미 등록되어 있는지 확인하는 것이지만, 이메일이 아닌 URL 배포에서만 작동합니다.

푸시 알림 + 업데이트를 통해 원격으로 패스를 삭제할 수있는 방법이 있습니까? 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

답변

0

메일과 모바일 사파리는 주어진 패스를 표시하고 사용자는 자신의 통장에 패스를 추가 할 수 있습니다. 패스 작성자가 .pkpass 파일을 전달하는 방법에주의해야한다는 점을 제외하면 패스 작성자가 할 수있는 일은 없습니다.

특정 기기로 특정 패스를 전달하려는 경우 맞춤 API를 사용하여 백엔드와 통신하고 해당 기기에 대한 패스를 요청할 수있는 컴패니언 앱을 고려해 볼 수 있습니다. 그렇다면 전자 메일이나 URL 링크를 통한 배포보다 훨씬 더 많은 통제가 가능합니다.

Apple에서 프로그래밍 방식으로 패스를 삭제하려고 시도합니다. 사용자는 패스를 추가했기 때문에 패스를 삭제해야합니다. 그러나 패스를 업데이트하여 유효하지 않으며 삭제해야 함을 명확히 할 수 있습니다. 예를 들어 바코드가있는 경우이를 제거하고 큰 빨간색 "INVALID"가 표시된 배경 이미지를 사용할 수 있습니다.

+0

패스를 업데이트해도 유효하지 않다고 생각했지만 두 패스는 모두 업데이트됩니다. 원래/적법한 패스와 재배포 된 패스입니다. 패스 유형과 시리얼 조합에 등록 된 장치가 있고 오류가 있는지 미리 확인하는 옵션을 선택하겠습니다. 감사합니다 ;-) – momo

+0

'업데이트'는 업데이트를 요청하는 단일 장치의 컨텍스트에서만 발생합니다. 해당 패스에 변경된 내용이 있음을 알리고 업데이트 된 패스를 보냅니다. 그것은 결코 다른 모든 패스를 변경하지 않습니다. 특히, 업데이트가 필요하다고보고하지 않는 원래 패스는 변경되지 않습니다. 이 작업을 수행하려면 여전히 서버 측에서 멋진 발놀이가 필요합니다.귀하의 감사가 그렇게까지 확장된다면이 답변에 대한 초록색 체크를 잊지 마십시오. – ohmi

+0

좋은 지적이지만이 동작을 얻기에는 너무 많은 작업이 필요합니다. 패스를 만들기 전에 확인해 보겠습니다. (BTW, lovin "너 덕분에 멀리까지 연장"롤) ;-)) – momo

0

그냥 오미의 대답 @ 연장 :

  1. 둘 이상의 장치에 설치되는 패스를 막을 수 없다 - 예를 들어, 사용자가 iCloud for Passbook을 사용하면 패스에 이 자동으로 동기화됩니다.
  2. pkpasses에 당신의 연결을 고려하면, 당신은 도입 한 번 다운로드 링크를 고려하기 위해 공개 할 수있다, 그러나 잘 당신의 의 필요를 채울 수있는 동안가 불가능하면, 사용자는 정말 실망 할 수 패스를 다시 추가하는 수동으로 삭제되었습니다. 그래서 나는 그런 해결책을 추천하지 않을 것이다.
  3. pkpass 링크를 개인용으로 만들 수 있으므로 응용 프로그램에서 생성되어 특정 헤더 필드 (예 : auth_token)에 대한 특정 값을 가진 GET 요청 만 pkpass 파일을 받게되지만이 방법을 통해 이메일을 보내거나 패스를 공유하는 URL을 통해 패스 업데이트가 불가능할 수도 있습니다.
관련 문제