2014-01-08 9 views
2

다음 코드를 사용하여 응용 프로그램 내에서 패스를 표시하려고하면 "BOM이 아카이브를 추출 할 수 없습니다 .PPass 서명에 예외가 계속 누락되었습니다."라는 오류 메시지가 나타납니다. 이 예외를 타게 도와주세요.BOM이 아카이브를 추출 할 수 없습니다. 패스 키트를 사용하여 생성 된 패스 URL을 사용하여 pkpass를 초기화 할 때 예외가 발생했습니다.

NSURL *url = [NSURL URLWithString:urlString]; 
NSData *passData = [NSData dataWithContentsOfUrl: url]; 
PKPass *pass = [[PKPass alloc] initWithData:passData error:&err]; 

개발 및 mashape에서 패스를 생성하기 위해 Xcode 5.2를 사용하고 있습니다.

+0

사용중인 URL을 알려줄 수 있습니까? – PassKit

답변

0

질문이 Mashape의 PassKit API과 관련되어 있다고 가정하면 .pkpass를 문제 요청에서 반환 된 URL 끝에 추가해야합니다.

원시 URL은 통행권 지원 브라우저에서 호출되는지 여부에 따라 상황에 맞는 응답을 제공합니다 (Android 장치에서 Firefox를 통해 URL에 액세스 해보십시오).

귀하의 경우 [NSData dataWithContentsOfUrl: url];은 PKPass가 보관 파일을 추출 할 수 없다는 불만을 제기하는 HTML 응답을 수신하고이어서 서명을 찾을 수 없습니다.

URL에 .pkpass을 추가하면 API가 원시 .pkpass 번들을 제공합니다.

그래서 당신의 응답 인 경우 :

{ 
    "success"  : true, 
    "serial"   : "7114189133818574", 
    "url"   : "https://r.pass.is/b93NuXKuX1Tj", 
    "passbookSerial" : "1fBHoUz9zOOk0yGs47wDC", 
    "shareID"  : "2HcFlmRLblKdQZsa4W9zkc", 
    "uniqueID"  : "b93NuXKuX1Tj" 
} 

urlStringhttps://r.pass.is/b93NuXKuX1Tj.pkpass을해야합니다.

+0

정말 고마워요. 그것은 작동했습니다 :-) – Minisha

+0

mashape 통과의 업데이트 URL을 얻을 수 있습니까? – Minisha

+0

문제 요청에서 반환 된 고유 ID (PassID)를 사용하여 업데이트 방법을 사용하는 것이 좋습니다. 보안을 위해 서버의 스크립트에 앱 게시물을 추가 한 다음 업데이트 요청을 Mashape로 전달할 수 있습니다. – PassKit