Contents

조회 수 11334 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

쿠드 구현 부분..

이 샘플이 설명이 더 자세한 듯..

storekit.framework를 추가 후 소스코드(.h/.m)에 대한 설명임.


# 헤더 파일 내용

#import <UIKit/UIKit.h>
#import <StoreKit/StoreKit.h> //스토어킷 프레임워크 추가해주시구요.

/*
아래 delegate를 지정해야 함.
SKProductsRequestDelegate : 상품정보 획득에 사용
SKPaymentTransactionObserver : 상품 구매에 관련(구입성공,실패,재구입 등 구매 트랜잭션)
*/

@interface iAPTest : UIViewController
    <SKProductsRequestDelegate, SKPaymentTransactionObserver>
{
}
@end


# 코드 내용

#import "iAPTest.h"
#import <StoreKit/StoreKit.h>

// 각자의 판매아이템들에 대한 고유한 값이며
// Manage In App Purchase에서 등록한 값으로 설정하면 됨.
#define kProductId1 @"com.iAPtest.item1"
#define kProductId2 @"com.iAPtest.item2"
#define kProductId3 @"com.iAPtest.item3"

@implementation iAPTest

- (void)viewDidLoad {
    //아래의 코드를 추가하여 구매 관련 이벤트를 자신이 처리하겠다고 지정.
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
}


//선택된 아이템에 대한 정보를 획득하여 표시해줄 때 사용.
-(void)productsRequest:(SKProductsRequest *)request
    didReceiveResponse:(SKProductsResponse *)response{
    
    for(SKProduct *product in response.products){
        /*
        localizedDescription    //아이템 설명
        localizedTitle    //아이템 이름
        price    //아이템 가격
        priceLocale    //지역별 가격표시 ex) $,원 표시등..
        productIdentifier    //제품식별코드
        아래와 같이 product.xxxxx 로 접근해서 화면에 뿌려주면 될 듯.
        product.localizedTitle
        */
    }
    [request release];
}

//아래 매소드는 해당 아이템의 버튼을 클릭했을 시 연결되는 부분.
//각각의 버튼에 구매될 아이템의 정보를 서버로 부터 얻어와서 해당 제품ID 순으로 정렬하고
//버튼 이벤트를 아래 메소드에 연결해서 0번째는 0번째 아이템, 1번째는 1번째 아이템 순으로 연결
//여기에 대한 내용은 각자의 입맛에 맛게^_^;
-(void)buyitem:(id)sender{
    SKPayment *payment;
    SKProductsRequest *request;
    UIButton *button = (UIButton *)sender;
    NSInteger tags = button.tag;
    if(tags==0){
        // 선택된 아이템의 구매정보를 입력합니다.
        payment = [SKPayment paymentWithProductIdentifier:kProductId1];
        /*
        // 선택된 아이템의 정보를 요청합니다.
        request = [[SKProductsRequest alloc]
            initWithProductIdentifiers:[NSSet setWithObject:kProductId1]];
        */
    }else if(tags==1){
        payment = [SKPayment paymentWithProductIdentifier:kProductId2];
    }else{
        payment = [SKPayment paymentWithProductIdentifier:kProductId3];
    }
    request.delegate=self;
    //아래의 코드에서 선택된 제품의 정보를 요청하고, 구매요청을 합니다.
    //[request start];
    [[SKPaymentQueue defaultQueue] addPayment:payment];
}

-(void)purchasedTransaction:(SKPaymentTransaction *)transaction{
    /*
     .
     . 원하는 기능 추가.
     .
     */
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}

-(void)restoreTransaction:(SKPaymentTransaction *)transaction{
    /*
     .
     . 원하는 기능 추가.
     .
     */
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}


-(void)failedTransaction:(SKPaymentTransaction *)transaction{
    /*
     .
     . 원하는 기능 추가.
     .
     */
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}

- (void)paymentQueue:(SKPaymentQueue *)queue
    updatedTransactions:(NSArray *)transactions{
    
    for(SKPaymentTransaction *transaction in transactions){
        switch(transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchased: //구매완료.
                [self purchasedTransaction:transaction];
                break;
            case SKPaymentTransactionStateFailed: //구매실패.
                [self failedTransaction:transaction];
                break;
            case SKPaymentTransactionStateRestored: //재구매,
                [self restoreTransaction:transaction];
                break;
            default:
                break;
        }
    }
}

@end


[출처] http://cafe.naver.com/mcbugi/75067



?

  1. [c++] 현승이가 준 P2P 프로그램 소스 ㅋㅋ

    Date2013.04.23 CategoryDevelop Byhooni Views12104
    Read More
  2. [php] 심플한 게시판 ㅋㅋ

    Date2013.04.23 CategoryDevelop Byhooni Views13044
    Read More
  3. [jsp] RSS(xml) 파싱해서 보여주기 ㅎㅎ

    Date2013.04.23 CategoryDevelop Byhooni Views13241
    Read More
  4. [php] 한샘 전자발주 시스템..

    Date2013.04.23 CategoryDevelop Byhooni Views12025
    Read More
  5. [c#] 파일(File) 쓰기 ㅎㅎ

    Date2013.04.23 CategoryDevelop Byhooni Views13321
    Read More
  6. [js] 자바스크립트를 동적으로 로딩하기

    Date2013.04.23 CategoryDevelop Byhooni Views13611
    Read More
  7. [unix] 날짜 관련 쉘 명령어 (특정일 또는 +-시간, 날짜 계산된 값)

    Date2013.04.23 CategoryDevelop Byhooni Views14888
    Read More
  8. [vb] 문자열에서 태그 제거함수 (Visual Basic)

    Date2013.04.23 CategoryDevelop Byhooni Views22678
    Read More
  9. [c#] 정규표현식을 이용한 문자열에서 태그 제거함수

    Date2013.04.23 CategoryDevelop Byhooni Views17877
    Read More
  10. [c] 포인터 학습용 예제 소스 코드

    Date2013.04.23 CategoryDevelop Byhooni Views21086
    Read More
  11. OGNL(Object Graph Navigation Language)

    Date2013.04.23 CategoryDevelop Byhooni Views15786
    Read More
  12. URI 인코딩, URL 인코딩

    Date2013.04.23 CategoryDevelop Byhooni Views18903
    Read More
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 ... 71 Next
/ 71