APNS Device Token을 못받아올때

2010/12/18 18:15

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

 

AppDelegate에서 DeviceToken을 받지 못하고 Error 메시지를 띄우는 경우가 있습니다.

분명 Development나 Adhoc Provisioning Profile을 받아서 정상적으로 컴파일 했는데도 발생되는 문제입니다.

위와 같은 내용이 들어오면 다음 방법으로 문제를 해결합니다.

(디바이스에서 테스트 경험이 있는 분들만 이해하실 수 있습니다.)

 

1. iOS Provisioning Portal 에 갑니다.

2. App IDs 메뉴로 들어가 APNS를 Enabled 시킵니다.

3. Provisioning 메뉴으로 들어가 이전 Profile을 지웁니다.(Development와 Distribution 모두)

4. 거기서 다시 새로운 Profile을 생성합니다.

5. Xcode의 Organizer에 등록되어 있는 Provisioning Profile은 지웁니다.

6. 새로 생성한 Provisioning Profile을 다운받은후 두번 클릭으로 Organizer에 설치합니다.

 

이렇게 한뒤 디바이스에서 테스트 해보면 잘됩니다.

 

Provisioning Profile이라는 것은 Provisioning Portal에서 Certificate, Device, App ID 순서로 만들어진 결과물의 정보를 담습니다. 그러다 보니 세가지중에 하나라도 바뀌면 다시 Profile을 다시 생성해서 받아야 합니다. 위 에러의 경우 먼저 Profile을 받고 난다음 AppID에서 APNS를 활성화 시켜 Profile에는 이 정보가 포함되어 있지 않아 발생하는 문제였던 겁니다.

 

여기서 교훈은... Certificate, Device, App ID 에서 하나라도 수정되면 반드시 기존 Provisioning Profile을 지우고 재생성해서 받아 써야한다는 겁니다.

 

저... 이것때문에 완전 머리 쥐어 짰습니다. ㅜㅜ;;;;;

글쓴이 : 지돌스타(http://blog.jidolstar.com/725)

저작자 표시 비영리 동일 조건 변경 허락

iOS , , , , ,

  1. Blog Icon
    David

    해외 사이트에서 조낸 뒤지다가 문제 해결이 안되었는데 님 블로그를 우연히 발견하게 되었는데 와우... 대단하십니다 ;;
    더 자세히 알아보고자 프로비져닝 파일 내부를 분석해 보았는데...님 말대로 앱 아이디 설정부분에 apns를 설정안하고 만들어진 프로비져닝에는
    " <key>aps-environment</key> <string>production</string> "
    이 부분이 삽입이 안되있더군요;;;
    프로비져닝 내부에 이런 키가 빠져있었을줄은 전혀 짐작도 못했지요;;
    역시 국내 개발자만한 실력자 없군요 ㅎㅎ

  2. 어휴~ 과찬이십니다. 저도 그냥 경험하다 보니 알게된거라서~ ^^

  3. Blog Icon
    돌비

    좋은 정보 잘 보았습니다.
    님 덕분에, 시간이 확~ 단축되었습니다.
    고맙습니다~~~

  4. 다행이네요~ ^^

  5. 인증서 만료 후 갱신하려고 하다가 잘안되어 이 현상이 일어났는데
    지돌스타님 덕에 해결했네요.
    하루종일 진을 뺀...

    감사합니다. 스크랩해가겠습니다 ^^

  6. Blog Icon
    romiet

    예상치 못한 곳에서 오류라 당황하고 있었는데...
    덕분에 쉽게 해결되었습니다.
    고맙습니다.

  7. Blog Icon
    김광현

    develop, ad hoc 까지 이상 없었는데 릴리즈 하니까 이 문제가 발생했어여;;
    패치해야 하나여 ㅠㅠ

  8. 음.... 다른 문제인것 같네요^^ 정확한 내용이 무엇인지?

  9. 너무 감사합니다 :D