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)

+ Recent posts