2014-02-14 3 views
0

내 앱이 쿠폰 다운로드와 관련하여 &을 통장에 저장합니다. 그러나 다른 쿠폰을 다운로드 할 때마다 파일이 통장에 바뀝니다.PKPass 파일이 Passbook에서 동일한 앱에있는 파일로 대체됩니다.

1 단계 : 주어진 아래

는 통장에 내 쿠폰을 추가하려면 코드입니다 같은 수입 & 프로젝트에 추가 'PassKit'프레임 워크.

2 단계 : 내 h 파일에 'PKAddPassesViewControllerDelegate'를 추가했습니다.

3 단계 :

- (void) generatePass { 

if (![PKPassLibrary isPassLibraryAvailable]) { 
    [[[UIAlertView alloc] initWithTitle:@"Error" 
           message:@"PassKit not available" 
           delegate:nil 
         cancelButtonTitle:@"Pitty" 
         otherButtonTitles: nil] show]; 
    return; 
} 
else { 

    NSData *passData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://(url).pkpass"]]; 

    NSError* error = nil; 
    PKPass *newPass = [[PKPass alloc] initWithData:passData 
              error:&error]; 
    if (error!=nil) { 
     [[[UIAlertView alloc] initWithTitle:@"Passes error" 
            message:[error 
              localizedDescription] 
            delegate:nil 
          cancelButtonTitle:@"Ooops" 
          otherButtonTitles: nil] show]; 
     return; 
    } 

    PKAddPassesViewController *addController = 
    [[PKAddPassesViewController alloc] initWithPass:newPass]; 

    addController.delegate = self; 
    [self presentViewController:addController 
         animated:YES 
        completion:nil]; 
} 
} 
+1

일련 번호가 다른가요? – tomasmcguinness

답변

1

통장 인덱스는 serialNumberpassTypeIdentifier로 전달합니다. 패스를 추가 할 때 사용자 패스 라이브러리에 serialNumberpassTypeIdentifier과 일치하는 패스가 이미있는 경우 추가되는 패스로 해당 패스를 덮어 씁니다.

동일한 passTypeIdentifer에 대해 여러 패스를 추가하려면 새 패스마다 고유 한 을 생성해야합니다.

관련 문제