제목 그대로, UIImageView에 웹 상의 이미지를 띄우는 방법을 알아보자.


1. xib에 UIImageView 생성
- xib에서 Object Library에 있는 Image View를 끌어다가 생성한다.


2. 헤더에 UIImageView 객체 생성
- 위에서 사용한 xib와 연결된 헤더 파일에서 UIImageView 객체를 생성한다.
@interface SampleViewController : UIViewController {
    UIImageView *webImage;
}
@property (nonatomicretainIBOutlet UIImageView *webImage;



3. 구현파일에 @synthesize 코딩

@implementation SampleViewController
@synthesize webImage;



4. 이미지 뷰를 나타내고자 하는 메서드 안에서 웹 상의 이미지를 UIImageView로 불러오기(여기서는 ViewDidLoad에 구현)

- (void) viewDidLoad {
    [super viewDidLoad];
    NSURL *imageURL = [NSURL URLWithString:@"http://static.naver.net/www/u/2010/0611/nmms_215646753.gif"];
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL];        
    webImage.image = [UIImage imageWithData:imageData];
    
}



끝!


이미지 경로가 가변적이라면, 웹 상의 이미지가 없을 경우(imageData가 nil일 경우) 예외 처리를 해주면 좋다.



웹뷰를 사용하여 각종 처리를 할 때, 특히 로그인과 관련된 처리를 할 때 특정 사이트에 대한 쿠키를 삭제하고 싶은 경우가 있다. 예를 들어 한 사이트에 여러 개의 계정을 사용할 경우 쿠키를 삭제하지 않고 다른 계정으로 바로 로그인한다면 이전 계정 정보와 겹쳐 꼬일 수 있다.


뭐 기타 등등의 이유로 쿠키를 삭제해야 할 경우가 있을텐데, 특정 사이트에 대한 쿠키를 삭제하는 방법은 매우 간단하다. 아래 코드와 같다.


    //쿠키 삭제
    NSHTTPCookieStorage *cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray *someCookies = 
    [cookies cookiesForURL:[NSURL URLWithString:@"http://website.com"]];
    
    for (NSHTTPCookie *cookie in someCookies){
        [cookies deleteCookie:cookie];
    }


우선 쿠키 객체를 생성하고, 특정 URL에 대한 쿠키를 Array에 집어넣은 후 deleteCookie 메서드를 사용하여 삭제하면 된다.


끝!


맨인블랙 시리즈를 나름대로 재미있게 보아서, 이번에 출시한 맨인블랙3도 나오자마자 보러 다녀왔다. 사실 맨인블랙2의 경우는 좀 실망한 감도 없잖아 있었지만, 윌스미스와 토미리존스의 연기와 각종 외계인들이 나오며 주는 웃음포인트만으로도 맨인블랙의 재미는 충분하다는 생각이다. 


아무튼 맨인블랙3를 보고나서 딱 떠오른 한 단어는, '명불허전'. 역시나 재미있엇다. 물론 나는 이런 영화를 볼 때 탄탄하고 멋진 스토리를 기대하지는 않기 때문에, 즉 그렇게 큰 기대를 하지 않기 때문에 재미있게 느낀 감도 없잖아 있긴 하지만, 그래도 SF영화들 중에서는 역시 좋은 영화에 속하는 것 같다. 



1. 윌스미스의 연기


맨인블랙이라는 영화의 절반 이상은 윌스미스가 먹고 들어가는 것 같다. 같은 스토리와 화면구성에, 주인공이 윌스미스가 아니라면 과연 지금의 맨인블랙이 있을까? 영화 속 제이요원의 특징은 항상 유머감각이 넘치고 말을 재미있게 한다는 점, 그 유머가 가볍게 던지기만 하는 유머가 아니라 자기 나름대로는 진지한 것 같으면서도 재미있다는 점, 실제 상황이라면 엄청 긴박한 상황인데도 영화를 보는 사람 입장에서는 웃으며 볼 수 있을만큼의 리액션들인 것 같다. 


윌스미스의 다른 영화도 마찬가지지만, 특히 맨인블랙을 볼 때마다 느끼는 것은, 이 사람은 정말 영화 속 주인공에 잘 녹아드는구나 하는 것이다. 연기하는 배우를 보는게 아니라, 실제 영화 속에서 사는 사람을 보는 듯한 느낌? 캐리비안의 해적에 나오는 조니 뎁을 볼 때도 비슷한 느낌을 받았는데 이건 참.. 뭐라고 말로 해야할 지 모르겠지만.. 아무튼 엄청난 소화력!



2. 젊은 케이요원


맨인블랙3에서는 케이요원의 젊은 시절을 연기하는 배우가 나온다. 오 근데 보면서 놀랐던 점은, 물론 영어는 잘 안 들리지만 대충 말투도 비슷하고 행동도 비슷하고 레알 케이요원이 젊었을 때 저랬겠다 싶을 정도로 딱 맞는 연기를 보였다. '오 케이요원 대역이네?' 라는 생각보다는 정말 케이요원이 젊었을 때를 보여주는 듯한 느낌. 윌스미스의 연기에 푹 빠져있다가 젊은 케이요원이 나오면서부터는 점점 이것이 영화인가 현실인가, 영화 속 사람들은 배우인가 진짜 다른 세계의 사람들인가 하는 착각을 할 정도로 강한 몰입을 일으켰다.



3. 웃음포인트


맨인블랙의 진미는 역시 깨알같은 웃음 포인트들! 윌스미스의 연기에서 묻어나오는 웃음 포인트들도 있지만, 외계인들이 나오는 영화이다보니 그 외계인들과 관련된 웃음포인트들도 참 많은 것 같다. 장면장면마다 굉장히 당연한 것 처럼 빠른 전개로 지나가는데도 곰곰히 생각해보면 엄청 웃겨서 뒤늦게 빵터지는 것들도 많다. 그리고 뭣보다 계속해서 가벼운 웃음만을 주는 것이 아니라, 코믹한 장면을 가지고 밀당을 하는 듯한 느낌. 분명 계속해서 웃으며 볼 수 있는데, 계속 깔깔대다가 지쳐버리는 것이 아니라 중간중간 빵빵 터지면서 볼 수 있다. 음 비유가 맞을진 모르겠지만 케이팝스타에서 박진영이 심사할 때 완급조절 능력을 강조하는 것이 보이는데, 영화에서 완급조절이 있다면 맨인블랙이 갑이라는 생각.




덧붙이자면, 이런 영화는 영화관에서 보는 것이 제맛인 듯. 큰 스크린과 빵빵한 사운드의 중요성 때문도 있지만, 극장에 있는 사람들과 함께 빵빵 터지며 보는 것이 영화의 재미를 느끼는데 있어서 상당히 큰 영향을 주는 것 같다.



웹뷰를 이용한 어플리케이션을 개발 중인데, HTTP 통신을 사용하다보니 3G가 느린 환경에서는 데이터를 받아오거나 해당 페이지로 접속을 하는 과정에서 로딩이 길어질 때가 있다. 처음에는 페이지 접속하고 로그인 하는 정도인데 뭐가 느릴까 싶었지만, 느린 환경이 의외로 많고(회사에서 Wi-Fi 끄면 장난 아님), 이때 Activity Indicator가 없으면 기다리는 동안 이게 에러인지 로딩중인지 헷갈릴 때가 많았다. 그래서 결국 구글링을 통해 Activity Indicator를 적용하였고, 적용법은 굉장히 쉬웠다.


1. ㅇㅇㅇ.h 에 정의


@interface ViewController : UIViewController
{
 UIActivityIndicatorView *activityIndicator;
}

 @property (nonatomicretainUIActivityIndicatorView *activityIndicator;


인터페이스 안에 UIActivityIndicatorView를 하나 정의해주고, 프로퍼티도 ㄱㄱ



2. ㅇㅇㅇ.m 에 구현


@synthesize activityIndicator;

   
-(void)webViewDidStartLoad:(UIWebView*)webView     

    

// ProgressBar Setting   

   activityIndicator = [[UIActivityIndicatorView allocinitWithFrame:CGRectMake(003232)];    
   [activityIndicator setCenter:self.view.center];
   [activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
   [self.view addSubview : activityIndicator];    
   
   // ProgressBar Start
   activityIndicator.hiddenFALSE;
   [activityIndicator startAnimating];    

}    


- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [activityIndicator stopAnimating];     
    activityIndicator.hiddenTRUE;
}


위 경우, 웹뷰에 Activity indicator를 적용하는 것이기 때문에 webViewDidStartLoad라는 메서드 안에서 Activity Indicator를 활성화시키고, webViewDidFinishLoad 메서드 안에서 비활성화 시켰다. 활성화, 비활성화를 원하는 메서드 안에 각각 넣어두면 될 것이다.



처음부터 원리를 다 이해하고 코딩을 한 것이 아니라, 일단 기능 구현이 우선이었기 때문에 사실 위 코드가 정확히 어떤 원리에 의해서 어떻게 적용되고 있는건지는 어렴풋이 짐작만 하고 있는...;;


암튼 기능은 무리없이 구현되는데, 주의할 점은 Activity Indicator 활성화 코드를 포함하고 있는 메서드가 2번 호출이 된다면 Activity Indicator도 2번 만들어지기 때문에 나중에 비활성화 코드가 포함된 메서드가 1번 호출되어도,  Activity Indicator가 남아있을 수 있다. 이 점은 어차피 꼭 Activity Indicator가 아니라도 비효율적인 코드가 될 수 있는 거기 때문에 알아서 주의하면 될 듯.




최근에 '앱스토어 골드러시(정태훈)'를 읽고 있는데, 중간에 아이폰 어플리케이션 제작을 위해서는 팀이 각자 책임지는 일을 분담하여야 한다는 내용이 나온다. 그렇게 하지 않으면 인간은 게으르기 때문에, 서로에게 업무를 떠넘기다가 일정이 늦어지게 될 가능성이 있다는 것이다.

 

이렇게 분담해야 하는 업무를 크게 9가지로 적어주었는데, 당연하게 생각되면서도 참 분담하기에 적절히 나눴다고 생각한다. 물론 기획이나 각종 의사결정의 경우 함께 해야할 경우도 많이 있지만, 큼직하게 분담을 하면 그렇다는 것이다.

 

참고로 개발이나 디자이너가 포함되지 않은, 앱을 기획할 수 있는 사람들로만 이루어진 팀의 경우에 필요한 업무들이다.

<아이폰 어플리케이션 제작을 위해 필요한 업무들>

1. 마케팅

2. 외주 제작자 구인(개발자, 디자이너 등)

3. 앱 기획

4. 기획된 기획안에 따라 디자이너와 소통해 디자인을 만들어내는 일

5. 기획된 기획안에 따라 프로그래머와 소통해 프로그래밍을 지시하는 일

6. iTunes Connect 관리(엑셀 잘 하는 사람이 유리)

7. 애플 개발자 계정 만들기

8. 디스크립션 작성

9. 홈페이지 또는 블로그 관리

(출처 : 앱스토어 골드러시 by 정태훈)

 

그리고 아래 내용은, '앱스토어 골드러시'에서 본 내용 + 평소 주변의 어플리케이션 기획자, 개발자, 디자이너 등을 보며 느낀 내용 + 주어들은 지식으로 적은 내용이고, 나는 막상 앱 기획이나 개발이나 디자인을 해보지 않았으므로 좀 맘에 안 드는 내용이 있더라도 '그냥 그런가보다' 하고 넘어가주길 :)

 

1. 마케팅

어플리케이션의 경우 마케팅을 할 수 있는 방법이 그렇게 많지 않은 것 같다. 크게 2가지로 나누어서 광고와 마케팅이 있을 것 같은데, 광고의 경우 초기자본이 없는 사람들이라면 하기 어려우므로 패스. 마케팅은 돈이 안 드는 것들만 적어보자면 ...

1) 아이폰 관련 커뮤니티에 글을 올린다.

2) 만드는 앱의 특성과 관련된 커뮤니티에 글을 올린다.

3) 페이스북, 트위터 등 SNS를 이용해 알린다.

뭐 이 외에도 많이 있을 수 있지만, 효과적인 방법은 저정도? 블로그를 이용하는거는 아래에 있으므로 패스.

 

2. 외주 제작자 구인(개발자, 디자이너 등)

개발자, 디자이너를 구할 때는 개발자 커뮤니티, 디자이너 커뮤니티에 구인글을 올리는 것이 좋다고 한다. 맥부기라는 카페가 있는데, 여기에 글을 올려도 개발자, 디자이너들이 많은 것 같다. 구인을 할 때는 아이디어를 다 알려주기 보다는, 어떤 기능을 구현해야 하는지, 어떤 페이지 디자인들이 필요할지, 어느 정도 규모가 될지 등을 간단히 올리고 이에 적합한 사람을 구인한다. 그리고 포트폴리오를 받는 것이 좋다. 구인을 하고 나서 상세협의를 할 때는 기획이나 아이디어를 모두 알려줘야 하므로 아이디어 보호 서약서? 지적재산 보호 서약서? 이런걸 작성한다.

 

3. 앱 기획

말 그대로 어플리케이션을 기획한다. 아이디어가 있다면 이 아이디어를 문서로 나타내어 개발자나 디자이너에게 보여줄 수 있어야 한다. 처음에는 종이에 그리기를 시작하더라도, 나중에는 ppt에 깔끔하게 정리하는 것이 좋다. 일단은 생각나는 페이지를 모두 그려보고, 각 페이지의 설명을 간단히 쓰고, 그려진 페이지들을 연결하는 순서로 작업하는 것이 좋다.

 

4. 기획된 기획안에 따라 디자이너와 소통해 디자인을 만들어내는 일

기획된 기획안을 바탕으로 디자이너에게 필요한 디자인 내용들을 정리하여 보내고, 팔로우업한다. 이때 최대한 상세하게, 가능하면 예를 들어가며 설명해야한다. 자신은 머릿속으로 상상을 하며 그림을 그리고 글로 써서 보내주는 것이지만, 디자이너 입장에서는 다르게 생각될 가능성이 높기 때문이다. 커뮤니케이션이 정말 중요하다.

 

5. 기획된 기획안에 따라 프로그래머와 소통해 프로그래밍을 지시하는 일

디자이너와의 소통과 마찬가지로, 최대한 상세히 기록하고 설명하여 자신이 원하는 기능이 구현되도록 한다. 예를 들어 버튼을 눌렀을 때 화면 속의 공이 튀기는 기능을 구현하고 싶다면, 공은 어느정도 높이로 튀기게 하면 좋을지, 어느 정도 속도로 튀기게 하는게 좋을지(최고 높이까지 몇초만에 도달할것인지 등), 한번만 튀기고 말 것인지 점점 튀는 높이가 낮아지면서 계속 튈 것인지 등등 최대한 상세하게!(적어놓고 보니 좀 부적절한 예 같긴 하지만, 암튼 자세히...)

 

6. iTunes Connect 관리

이건 정말 한번도 사용해보지 않았는데, 앱스토에 올린 어플리케이션 매출을 확인해주는 앱이라고 한다. 엑셀을 잘 다루는 것이 좋다고 하는 것으로 보아 앱에서만 확인하는 것이 아니라, 엑셀로도 다운로드 받을 수 있는 형태가 아닌가 예상해본다. 근데 내 생각에 앱을 출시하기까지의 단계에서는 그냥 애플 개발자 계정을 만드는 사람이 같이 관리해도 좋을 듯...

 

7. 애플 개발자 계정 만들기

애플 개발자 홈페이지(http://developer.apple.com)에 들어가보면 1년에 $99를 지불하고 개발자 계정을 만들 수 있다. 앱스토어에 앱을 출시하거나, 실제 기기에서 테스트하려면 꼭 개발자 계정이 있어야 한다. 개인계정과 법인계정이 있는데, 개인계정은 쉽게 만들 수 있지만 법인계정의 경우 영문사업자등록증 등을 제출해야하므로 좀 귀찮을 수 있다. 참고로 Enterprise 계정도 있는데, 이는 1년에 $299를 지불한다. Enterprise 계정을 생성하면 앱스토어에는 앱을 올릴 수 없고, In-House App이라고 하여 웹을 통해 앱을 내부적으로 배포할 수 있다.

 

8. 디스크립션 작성

앱스토어에 올라간 앱의 설명, 스샷 등을 작성하는 작업이다. 어디선가 본 통계에서 젊은 층일 수록 스샷을 많이 참고하고, 나이가 있는 층일수록 설명을 많이 참고한다고 한다. 나의 경우에만 봐도 일단 스샷을 보고, 끌리면 다운로드를 클릭하고 설명을 읽어보는 것 같다.

 

9. 홈페이지 또는 블로그 관리

홈페이지나 블로그가 있다면 관리를 하는 역할. 하지만 앱을 처음 출시하는 입장이라면 홈페이지나 블로그가 없지 않을까? 뭐 블로그는 쉽게 만들 수 있긴 하지만... 블로그는 크게 2가지 목적을 가지고 운영, 포스팅할 수 있다. 하나는 기획자, 개발자의 스토리를 솔직하게 올리고 리뷰를 받을 수 있는 소통의 창으로서 활용한다는 것, 나머지 하나는 특정 키워드로 검색을 했을 때 상위에 노출이 되도록 함으로써 직간접적인 홍보를 할 수 있는 수단으로 활용한다는 것. 당연히 이 두가지 모두로 사용할 수도 있다. 그런데 나름 방문자수가 많았던 기업블로그를 운영해본 입장에서, 완전 단기간에 블로그에 포스팅을 하여 메인 포탈의 상위에 글을 노출시키긴 쉽지 않다. 앱을 만들어야지 하고 생각한 순간부터 블로그에 꾸준히 포스팅을 하다가, 앱이 완성된 시점(아마... 짧으면 1달, 길면 3달 정도?) 쯤에는 홍보를 위한 포스팅을 한다면 효과가 있을 것이다.

 

블로그 관련된 글 예전에 쓴거 같은데 임시저장만 해두고 발행을 안 했나보네.. 나중에 다시 정리해서 올려야지.

 

 

 

 

I think failing is the best way to keep you grounded, curious, and humble. Success is dangerous because often you don’t understand why you succeeded. You almost always know why you’ve failed. You have a lot of time to think about it.

 

위 문구는 비즈니스위크에 실린 Zynga의 CEO인 마크 핀커스의 "How to Fail"의 마지막 단락이다.(전문보기)

 

성공을 하게 되면 왜 성공을 했는지 알지 못하는 경우가 많지만, 실패를 하면 대부분의 경우 왜 실패했는지를 알 수 있다고 한 점이 와닿는다.

 

 

 

 

애플이 신입사원에게 보내는 편지라고 한다(아래 한글은 트위터 사용자 @grin17 이 한글본으로 만든 것이라고 한다).

 

"They come here to swim in the deep end."

 

이런 일을 하고싶고, 이런 회사를 만들고 싶다.

 

 

두 가지 질문... 당신은 즐거웠는가? 그리고 다른 사람에게 즐거움을 주었는가?

직업은 '먹고 살기 위한 것' 이상이어야 합니다. 그래야 자신의 분야에서 일가를 이룰 가능성도 높아지고, 다른 사람들에게 도움을 줄 수 있으며, 스스로도 행복해질 수도 있습니다. 예전에 경제노트에서 말씀드렸던 '소명'과 관련된 것이지요.

그 소명은 반드시 거창할 필요는 없습니다만, 다른 사람을 즐겁고 행복하게 해주는 쪽이면 좋겠습니다. 같은 청소부, 식당 주인, 의사라 하더라도 '먹고 살기 위해서만' 일하는 사람과 그 이상의 다른 소중한 가치도 함께 추구하는 사람은 모습이 다르지요.

"당신의 인생은 즐거웠는가?"
"당신은 다른 사람에게 즐거움을 주었는가?"

훗날 죽음을 앞두고 이 두 가지 질문에 모두 "네"라고 답할 수 있는 그런 삶을 살아가면 좋겠습니다.

 

 

출처 : http://note.linxus.co.kr/yehbyungil/159428 (예병일의 경제노트)

 

 

오랜만에 학교로... 이번주 내내 거의 여름이라고 착각을 할 정도로 좋았던 날씨와 길가에 흐드러지게 핀 벚꽃을 보며 적지 않은 기대감을 품고 학교로 왔는데... 현실은 폭우. 아무튼 해동 학술 문화관이라는 새로 생긴 건물에 처음 들어와 공부(?)를 하다가 지루해져서 영화 '세 얼간이(3 idiots)'를 보았다. 



한국 영화관에서 상영하기 전부터 히트작이라고 많이 듣던 영화였고, 이렇게 드라마스러우면서도 훈훈한 영화들을 좋아하기 때문에 봐야지 봐야지 하고 생각만 하다가 이제야 보게 되었다. 


일단 전반적인 느낌은 '재밌다' 이다. 가볍게 볼 수 있으면서도 그렇게 가볍지만은 않고, 웃으면서 볼 수 있으면서도 잔잔한 감동이 있으며, 권선징악의 뻔한 스토리이면서도 지루하지 않게 볼 수 있다.


그리고 개인적으로는 2가지의 내용이 마음에 와닿았다. 둘 다 주인공의 삶의 태도에 대한 것인데, 하나는 "하고 싶은 것을 하다 보면 성공은 따라온다"에 대한 것이고 하나는 세 얼간이의 명언이기도 한 "알 이즈 웰"이다.


주인공은 딱딱한 암기 위주의 학교의 교육 방침에 대해 반항하며, 친구들의 삶의 태도를 개선시켜 나간다. 집안의 기대를 충족시키기 위해서 자신이 좋아하는 일을 포기하고 공학도로 살아가려는 친구에게 조언을 하는 과정에서 자신이 좋아하는 일을 해야 행복해질 수 있다는 가치관을 보이는 것이다. 물론 완전히 뜬구름 잡는 소리만 하지는 않는다. 실제 주인공이 반항을 하는 과정 등에서도 무조건 NO만 외치는 반항아가 아니라 잘 풀어나가려고 노력하는 모습을 보이기도 한다. 


"알 이즈 웰"은 검색을 해보니 All is well을 발음한 것으로, 모든 것이 잘 될거라는 말이라고 한다. 이는 어떤 일이나 사건을 마주했을 때 마음먹기에 따라서 많은 것이 바뀐다는 것을 표현해주는 단적인 문장이다. 영화 상에서 주인공이 알 이즈 웰을 자신이 외치는 이유와 관련된 에피소드를 말해주는데, 어찌 보면 우리나라의 원효대사가 해골물을 마신 일화와 비견될 수 있는 것 같다.



아무튼 영화 자체도 정말 재미있고, 특히 내가 나중에 무엇을 해야하나에 대해 고민하는 사람들이라면(특히 대학생) 한 번쯤은 보면 좋을 영화인 것 같다.




아이폰 어플리케이션을 개발하는데 있어서 Push Notification 기능을 개발하기 위해서는 애플 개발자 계정을 등록하고, Provisioning 파일을 받아야 한다. 이때 참고한 사이트는 아래와 같다.


그런데 위 두 포스트에 자세히 설명되어 있는대로 그대로 따라서 했으나, device token을 계속해서 받아오지 못하는 것이다! 


Error: Error Domain=NSCocoaErrorDomain Code=3000 "응용 프로그램에 대해 발견된 'aps-environment' 인타이틀먼트 문자열 없음"


이라는 오류가 나왔는데 구글링을 해보니, 이는 프로비저닝 파일이 잘못되었기 때문이니 프로비저닝 파일을 지우고 다시 다운로드 해보라는 답들을 얻었다. 이러한 답을 얻은 곳들 중 대표적인 사이트는 아래와 같다.


http://blog.jidolstar.com/725


그런데 프로비저닝 파일을 지우고 다시 설치하기를 4~5번을 해도 같은 에러만 반복해서 나오고 device token은 받아오지 못한다. 빡쳐서 인증서까지 싹 다 지우고 처음부터 다시 하기도 3번 정도 반복했는데도 같은 에러... 인내심의 한계를 느끼며 좌절하다가 주말을 보내고 나서 상쾌한 마음으로 월요일 아침 출근! 역시 산틋한 마음으로 살펴봐서 그런지 문제를 드디어 해결했다.



1) App IDs를 생성할 때 Bundle Identifier (App ID Suffix) 를 입력하는 곳이 있다. 애플에서는 예로 com.domain.appname을 들어줬는데, 이때 domain부분과 appname 부분을 그냥 꼴리는대로 입력하면 안 되고, 잘 입력해야 한다.


2) xcode의 좌측 메뉴에서 프로젝트를 클릭해보면 Summary를 볼 수 있다. 여기에서 Bundle Identifier가 있는데 이를 위에서 생성한 App IDs의 Bundle Identifier와 동일하게 입력해준다.(만약 수정이 불가하게 되어있다면, 이에 맞추어 App IDs를 다시 생성해야겠지?)


3) xcode에서 summary 옆옆에 있는 Build Settings를 클릭하여 검색창에서 Code Signing을 검색해보면 해당 부분이 나온다. 이 부분에서 Code Signing Identity를 비롯한 아래에 선택할 수 있는 부분들을 자기가 받았던 프로비저닝으로 잘 선택이 되어있는지 확인하고, 잘 되어있지 않다면 제대로 선택해준다.



이 3단계를 거치니깐 드디어 device token 을 받아오게 되었다. 


이제 device token을 받아왔으니 본격적으로 push 기능 개발 고고싱!