푸시, Signing, Entitlements... 너희가 날 괴롭혀...

Programming 2018. 9. 28. 16:16

iOS푸시를 위해서는 entitlements가 필요하다.

그치만 APS Environment가 development로 설정되어 있다면 App Store 혹은 Ad Hoc으로 배포한 앱에서는 푸시를 이용할 수 없다.

그래서 APS Environment가 production entitlements로 설정된 entitlements가 추가로 필요하다


프로젝트의 build settings - signing 부분에서도 관련 설정을 해줘야한다.

이 부분에에는 대부분 Debug, Release 두개 항목으로 나뉘어져 있다.

Code Signing Entitlements, Code Signing Identity, Provisioning Profile 등이 그 주요한 항목들인데,

Developer와 Distribution를 Debug와 Release의 값으로 설정하자.


그전에 Provisioning Profile을 만들어야 한다.

Development의 iOS App. Development, Distribution의 App Store, Ad Hoc의 3개 Provisioning Profile을 만들자. 

처음에는 뭐가 뭔지 몰라서 되게 헤맸는데, 해놓고 보니 그래도 헷갈린다. 사이닝 때문에 만들어야 하는 게 도대체 몇개야..


Ad Hoc은 '특수한 목적'을 위한 일종의 테스트를 위해 존재하는 유형인데, ipa를 만들 때 일반적으로 Ad Hoc으로 만들게 된다.

이것이 없다면 푸시테스트는 항상 테스트플라이트에 업로드한 후 진행해야 하는데, 상당한 업로드 시간이 소요되기 때문에 테스트가 띄엄띄엄 진행될 수 밖에 없다. Ad Hoc은 이처럼 특수한 기능 테스트를 위해 유용하다. 결제테스트도 포함될 것이다.

admin