Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000

2017. 2. 2. 17:18mobile/ios



본 포스팅은 Xcode 버전을 8로 업그레이드 후 APNS Token을 받아오지 못하는 증상에 대한 해결방법입니다.




잠시동안 ios 개발을 하지않고 있다가 오랜만에 앱을 업데이트를 하려고 보니 개발환경 버전들이 많이 바껴있네.


그러면서 자꾸 최신버전으로 업그레이드 하라는 등 에러를 뿜어댓다.


맥북 버전도 올려야 했고 Xcode 버전도 올려야 했다.


Xcode는 무려 8버전까지 올라가있다.


시뮬레이터는 아이폰7 과 아이폰7s 가 생겼고 IOS도 10.3 버전까지 올라가있네...


일단 시키는데로 버전을 모두 올렸다.






테스트를 하려고 아이폰을 연결하고 실행하니 다음과 같은 에러가 로그에 찍혔다.


 

Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "응용 프로그램을 위한 유효한 'aps-environment' 인타이틀먼트 문자열을 찾을 없습니다." UserInfo={NSLocalizedDescription=응용 프로그램을 위한 유효한 'aps-environment' 인타이틀먼트 문자열을 찾을 없습니다.





이게 뭔가...


검색해 보아도 죄다 설정이 잘못됐단다.


인증서를 다시 받아라, Provisioning Profile을 다시 생성해라 등등...


아니 기존에 다 했던게 안된다는게 나는 이해할 수 없었다.


차근차근 찾아보았다.


처음으로 확인한 것은 개발자 페이지에서 Provisioning Profiles 이다.


내가 사용하는 Profile이 Invalid되어 있었다.


오호라...


Edit을 눌러 인증서를 다시 설정하고 저장하니 정상적으로 Active 되었고 다운받고 실행하여 Xcode 에 등록했다.


이제 되겠지...


안된다.


에러는 변함없었다.


App IDs를 비롯해서 인증서까지 모두 살펴 보았지만 모두 정상적인 상황이라 굳이 손대지 않았다.


한번 손대면 다시 처음부터 설정해야 하니 왠만하면 손대지 말것.

 





분명히 다른 설정이 하나 추가된 것같다는 느낌이 온다.


있다.


찾았다.


와 ㅋㅋㅋㅋ 진짜 인증서 건들였으면 후회할뻔했다.




project navigator 에서 프로젝트 선택 > Capabilities > Push Notifications 항목


Off 되어있는 것을 On 으로 바꾸면 끝