앱스토어에 새로 앱을 등록하고 아이튠즈 커넥트에서 Waiting for Review상태가 된것을 확인하고 안심하기에도 전에 다음과 같은 메일이 날라오는 경우가 있습니다.
문제를 확인하기 위해 만들었던 Provisioning이 정상적으로 Active상태인지 확인합니다. 맞다면 다운 받아서 다음을 확인해 보도록 합니다. 터미널에서 다음의 명령으로 Provisioning의 내용을 확인할 수 있습니다.
$ security cms -D -i <filename.mobileprovision> . . . <dict> <key>application-identifier</key> <string>6JBPC845B4.kr.pe.theeye.sampleapp</string> <key>aps-environment</key> <string>production</string> <key>get-task-allow</key> <false/> <key>keychain-access-groups</key> <array> <string>6JBPC845B4.*</string> </array> </dict> . . .
Push Notification 설정이 잘못 되어있다면 위의 내용중에서 보이는 aps-environment정보가 누락되어있게 됩니다. 즉 다음의 내용이 존재하지 않을것입니다.
<key>aps-environment</key> <string>production</string>
말이 복잡하지만 간단히 생각하면 사용하시는 Provisioning에 Push Notification정보가 누락된 상태라고 보시면 됩니다. 사실 푸시를 사용하지 않는 앱일 경우 무시해도 될 경고 메시지입니다만 리젝되는 경우도 많이 있다고 하니 무시하시면 안될 메일입니다.
[이 내용은 푸시 설정이 되어있음에도 App ID리스트 상에서 Enabled로 나오지 않을경우에만 참고하세요]
그 경우 어쩔수 없이 위와 같이 Production Push 인증서를 추가로 설정해 주셔야 합니다. 서비스의 무중단을 위하여 Production용 인증서는 동시에 2개까지 설정이 가능합니다. 추가를 해주시고 기존에 사용중인 인증서를 새로운 인증서로 교체해 주시기 바랍니다.
이제 다시 Provisioning을 갱신하여 사용하시면 됩니다. 하지만 여기서 중요한점은 단순히 갱신하는것보다는 위와 같이 아예 삭제를 한 뒤에 다시 새로 추가하시는것이 확실합니다. 몇번 해보니 갱신으로는 잘 안되는 경우가 있더군요.
위와 같은 과정을 거치게 되면 Provisioning에 정상적으로 aps-environment가 추가 되어있을 것이고 빌드하여 앱스토어에 등록하시면 문제 없이 등록이 될 것입니다.