아래에 설명 된대로 코드를 실행합니다. 파일 (NSData)을 받으면 다음 오류가 표시됩니다.오류 통장 - PKZip 서명
"BOM could not extract archive: Couldn't read PKZip signature"
무슨 일입니까? 누구든지이 문제가 있었고 어떻게 해결할 수 있습니까?
NSString *url = [res objectForKey:@"url"];
NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:url]]; if (nil != data) {
//init a pass library
PKPassLibrary* passLib = [[PKPassLibrary alloc] init];
NSError *error;
//init a pass object with the data
PKPass *pass = [[PKPass alloc] initWithData:data error:&error];
if(error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK"otherButtonTitles:nil];
[alertView show];
}
//check if pass library contains this pass already
if([passLib containsPass:pass]) {
//pass already exists in library, show an error message
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Pass Exists" message:@"The pass you are trying to add to Passbook is already present." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
} else {
//present view controller to add the pass to the library
PKAddPassesViewController *vc = [[PKAddPassesViewController alloc] initWithPass:pass];
[vc setDelegate:(id)self];
[self presentViewController:vc animated:YES completion:nil];
}
}
소리는 .pkpass 번들에 문제가 있으며 사용자 코드가 아닙니다. Safari, 메일 첨부 또는 OSX의 패스 뷰어를 통해 액세스 할 때 .pkpass 번들 가져 오기가 올바르게 실행됩니다. 사용중인 iOS SDK 버전은 무엇입니까? – PassKit