APNS уведомление с использованием swift

iOS 11.x Swift 4.0

Да, я знаю, что существуют десятки решений, которые будут отправлять push-уведомления для вас, но я пытаюсь создать собственное решение.

Теперь мне удалось собрать вместе некоторый PHP-код, который работает, в нем я создаю полезную нагрузку APNS, а затем отправляю ее в Apple, которая, конечно же, отправляет ее моему клиенту. Это всего лишь 10 строк кода, но теперь мне нужно преобразовать его в Swift.

$payload='{
"aps": {
"alert":{
"title": "Yo",
"body":"Stay Cool" },
"badge":99,
"category":"new.category",
"sound": "default"},
"misc": "tag"}';

$apnsHost = 'gateway.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';
$deviceToken = '7effd4dfc158d922c867c1e3c99fd46296e2b1afcd080a63a2da398bce1c9bb3';
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error,   $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);
echo $error;
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '',     $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
?>

Я нашел этот ответ на SO, который выглядит как мой мужчина, но нет … там нет сертификата [.pem]?

Как использовать Secure Transport TLS с BSD-сокетами в Swift?

Я вне моей глубины прямо сейчас? Любая помощь / указатели на правильный путь крайне необходимы?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector