2013-03-20 2 views
0

ios 용 앱에 대한 푸시 알림 시스템에 문제가 있습니다. 개발시 완벽하게 작동하지만 프로덕션 환경에서는 작동하지 않습니다. 이제 의심의 여지가 있습니다. 여기 https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ProvisioningDevelopment/ProvisioningDevelopment.html 나는 서버에 pem 인증서가 "설치"되어 있어야한다는 것을 알았습니다.푸시 알림을 위해 ssl certificate를 설치하는 방법은 무엇입니까?

개발 중에 푸시 알림을 보내는 PHP 스크립트의 동일한 디렉토리에 개발 .pem 만 복사하여 스크립트에서 사용하게했습니다. 프로덕션에서 (내 앱이 앱 스토어에 있습니다.) 나는 서버에 배포판을 어떤 방식으로 "설치"해야합니까?

참고 : 모두 내가 할 올바른 방법으로 진행되었는지 확인하려면 다음

$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx); 
if(!$fp){ 
    print "All ok!"; 
} 

$msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack  ("n",strlen($payload)) . $payload; 
    print "sending message :" . $payload . "n to device:".$deviceToken."</br>"; 
    $result=fwrite($fp, $msg); 
    if (!$result) 
     print "All ok!": 
} 

그리고 심지어 생산

, 두 사람은 어떤 오류가 발생하지 않았다.

+0

나는 편집에서 소켓 열기를 확인하기 위해 작성한 두 개의 코드를 사용합니다. 그들은 괜찮습니까? 그들은 어떤 오류도 발생시키지 않습니다. 장치 토큰은 프로덕션 하나 인 것 같습니다. 앱 스토어에서 ipad에 앱을 설치하면 내 PHP 스크립트에서 내 방식으로 앱에서받은 토큰을 작성한 다음 운이없는 푸시를 보낼 수 있습니다. 필자의 목표로, 코드 서명 ID에는 회사 이름과 "아이폰 배포"가 포함되어 있습니다. 괜찮아? 이것이 문제입니까? 모든 것이 괜찮은 것 같습니다. 나는이 일로 고생하고있다. 그것은 나를 미치게합니다. ^^ ' –

+0

아, 글쎄요, 문제는 모든 것이 올바른 방향으로 가고 있지만 아무런 알림도 도착하지 않는다는 것입니다. 나는 앱을 설치 한 적이없는 기기에도 새로 설치를 시도했다. –

답변

0

서버에 SSL 인증서를 복사하고 스크립트에서 참조하여 설치해야합니다.

제 문제는 알림을 보내는 장치 토큰을 포함하는 db에 개발 장치에서 생성 된 일부 장치 토큰이 있다는 것입니다. 개발 토큰을 프로덕션 사과 서버로 보내면 연결이 끊어 지므로 동일한 연결에서 다른 알림을 보내지 않아도됩니다. 대단히 사과 서버 주셔서 감사합니다!

관련 문제