일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MariaDB
- 머신런닝
- 페이징 모듈
- 기초자바
- jquery
- DB Tool
- 문자열반대로
- 문자열붙이기
- API Server
- selector
- 다이어트
- 지앤선
- 자바
- 문자열반전
- 스타트업
- 헬스
- startup
- 제이쿼리 페이징
- 스크럼
- co-founder
- sizzle
- Toad
- MacOS
- 제이쿼리
- 서스펜스
- 습관의재발견
- 트레이닝
- 자바입문서
- workbench
- paging
- Today
- Total
누구도 평범한 사람은 없다
APNS Push 인증서 생성 순서 본문
Bundle Identifier는 프로젝트 생성할 때 똑같이 해줘야 함.
보통 Project에 있는 Bundle Identifier는 com.domainname.* 으로 되어있는데 Push 서비스를 사용하려면 *(wild card)로 되어있으면 토큰키 생성이 안된다.
Domain=NSCocoaErrorDomain Code=3000 "응용 프로그램에 대해 발견된 'aps-environment' 인타이틀먼트 문자열 없음" UserInfo=0x1c5b0d20 {NSLocalizedDescription=응용 프\353\241\234그램에 대해 발견된 'aps-environment' 인타이틀먼트 문자열 없음}
이 에러때문에!!!스트레스!!!가!!!!!ㅠㅠ
순서를 정리해서 말하면 1. AppID 생성 - 생성된 App은 Push Notification이 사용가능한 상태로 안되어있습니다.
- Configure 눌러서 Push Service를 사용가능한 상태로 만들어줍니다. 그냥 설정만 해주면 되는 게 아니라 푸시서버 SSL 인증서를 생성해서 등록해줘야 합니다.
- 보통 개발이나 테스트용으로 하게 되면 Development Push SSL Certificare 인증서로 등록하시면 돼요 Configure로 누르시고
인증서 선택
인증서 인증절차 완료되면
- 생성된 인증서 보이시면 Download 해서 더블 클릭 해서 인증서 등록해 줍니다. (Apple Development iOS Push Service:com.pushTest.pushTest1이라는 인증서가 생긴 걸 확인하실 수 있을 겁니다~ 테스트하는 앱이름을 반드시 pushTest1으로 동일하게 해 주셔야 돼요~)
이제 Project를 생성해서 Push 테스트를 해보겠습니다.
Apple Development iOS Push Service:com.pushTest.pushTest1 <--등록된 인증서와 같은 네이밍 해주셔야 돼요
- Product Name : pushTest1
- Company Identifier : com.pushTest
-생성된 프로젝트에 들어가서 Bundle identifier를 변경해 줍니다.
com.pushTest.${PRODUCT_NAME} 이렇게 되어있는데 com.pushTest.pushTest1으로 바꾸어줍니다.
- 이제 프로젝트 Build Setting에서 인증서 확인해 보시면 Current matches 인증서가 Push 인증서 네임이랑 일치하면 Test준비는 끝난 거예요~ 이걸 잘 몰라서...ㅠㅠ삽질을... 삽질을..ㅠㅠ
이제 AppDelegate.m에 푸시 토큰 받아오는 코드를 작성합니다. @implementation 밑으로 아래 소스 복사해서 쓰시면 돼요~
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// APNS에 장치등록
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound ];
application.applicationIconBadgeNumber = 0;
return YES;
}
//device token - show Log
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSLog(@"Device Token : %@" ,deviceToken);
}
//에러 발생시 호출
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
NSLog(@"dviceToken error : %@", error);
}
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
NSDictionary *aps = [userInfo valueForKey:@"aps"];
NSLog(@"userInfo Alert: %@", [aps valueForKey:@"alert"]);
}
이제 앱실행하고 (시뮬레이터에선 테스트 되지 않아요~ 폰으로 직접하셔야됩니다~)
시작하면 로그창에
Device Token : <337d8022 2e1f9efa 48400f82 45f2aa52 e98984f5 558a11d1 da762dcf a179aaa0>
이렇게 나오면 성공!!!!!
ㅋㅋ
안되거나 궁금하신건 댓글로 달아주세요~~
'Program > iPhone SDK' 카테고리의 다른 글
iPhone 개발소스들 모음 (0) | 2012.11.02 |
---|---|
너무 멋진!!!AppCoda.com (0) | 2012.11.01 |
아이폰 개발시 유용한 사이트 (0) | 2012.11.01 |
아이폰 개발 가이드(xcode 가이드) (0) | 2012.06.20 |
아이폰 개발자센터(아이폰 개발자 등록) (0) | 2012.06.04 |