2012-07-04 7 views
1

내 응용 프로그램에서 응용 프로그램을 구입할 때 구현되었습니다. 구매 버튼을 클릭하면 확인 메시지가 나타납니다.하지만 확인을 클릭하면 항상 "다음과 같은 오류 메시지가 표시됩니다. 이미 구입했지만 다운로드되지 않았습니다. 지금 다운로드하여 확인하십시오. " 아무것도 "SKPaymentTransactionStateFailed :"을 구입하면 항상 오류 메시지가 나타납니다.

항상 케이스를 전화 this.In

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 
{} 
후에 발생하지 않습니다. 오류를 인쇄 할 수 itried 그리고 내가했던 180cm 정도을 클릭에있다 "아이튠즈 스토어에 연결할 수 없습니다"라는 구매 버튼,이 방법을 호출 :

`- (void) requestProductData 
{ 
    NSLog(@"requestProductData"); 
    SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: 
           [NSSet setWithObjects:featureBusiness , nil]] ; // add any other product here 
    request.delegate = self; 
    [request start]; 
    if([delegate respondsToSelector:@selector(beginAnimationPurchased)]) { 
     [delegate beginAnimationPurchased]; 
    } 
} 
` 

누구 나를 안내 할 수 있습니까? 사전에 감사합니다.

+0

다른 테스트 ID를 만들고 inapp 구매를 확인하십시오. – Madhumitha

+0

소모품입니까, 아니면 비 소모품입니까? – WendiKidd

+0

@Madhumitha 다른 테스트 계정을 만들었지 만 동일한 경고 메시지가 나타납니다. –

답변

0

나는 동일한 문제가있었습니다. Ray Wenderlich 예제에서 IAPHelper 코드를 사용하고 있는데,이 코드를 MyAppIAPHelper로 서브 클래 싱했습니다.

IAPHelper *observer; 

다음 내 기본보기 컨트롤러의 viewDidLoad에있는 트랜잭션 옵저버를 추가 :

observer = [[IAPHelper alloc] init]; 
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer]; 

내 기본보기 컨트롤러 'm'파일의 상단에있는 관찰자를 선언함으로써이 특정 문제를 해결 내 dealloc에서 나는 다음과 같이 덧붙였다.

[[SKPaymentQueue defaultQueue] removeTransactionObserver:observer]; 

이것이 최선의 해결책인지는 모르지만 저에게는 효과적이었습니다. 이 도움이 되었으면 좋겠어요 :-)

관련 문제