С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
mercooliy
6 / 6 / 1
Регистрация: 12.05.2013
Сообщений: 153
1

APNS после выпуска в AppStore

04.07.2014, 22:43. Просмотров 721. Ответов 2
Метки нет (Все метки)

Отлично работали нотификации на девелопмент сертификате и песочнице (sandox) APNS. Но после выхода в сторе и смене сертификата (сделал pem файл также как и для девелопмента) и заменил путь к ssl серверу, и уведомления не приходят, хотя сервер говорит что подключение прошло нормально и прога загруженная с аппстора отправляет в базу корректный push token . Вот код ксрипта для пуш на php.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
$tHost = 'gateway.push.apple.com';
$tCert = 'prod.pem';
 
 
 
$tPort = 2195;
$tPassphrase = '';
$tAlert = array (
 
'body' => '',
 
'action-loc-key' => '', 
 
'loc-key' => '',
 
);
$tBadge = 0;
$tSound = 'default';
$tPayload = '';
$tBody['aps'] = array (
 
'alert' => $tAlert,
 
'badge' => $tBadge,
 
'sound' => $tSound,
 
);
 
$tBody ['payload'] = $tPayload;
$tBody = json_encode ($tBody);
$tContext = stream_context_create ();
 
stream_context_set_option ($tContext, 'ssl', 'local_cert', $tCert);
stream_context_set_option ($tContext, 'ssl', 'passphrase', $tPassphrase);
stream_context_set_option($tContext, 'ssl', 'cafile', 'entrust.cer');
 
$tSocket = stream_socket_client ('ssl://'.$tHost.':'.$tPort, $error, $errstr, 30, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $tContext);
if (!$tSocket)
exit ("APNS Connection Failed: $error $errstr" . PHP_EOL);
 
echo("<br>");
//echo ($tToken);
 
while ($rows=mysql_fetch_array($query))
{
  //print_r($rows); 
$row[]=$rows['token'];
  //echo($row[$i]);
$tToken=$row[$i];
$tMsg = chr (0) . chr (0) . chr (32) . pack ('H*', $tToken) . pack ('n', strlen ($tBody)) . $tBody;
$tMsg2 = chr (0) . chr (0) . chr (32) . pack ('H*', '417fa258523d0751e06ffd2f52b2b1b953789995cf94bdf7fa7a9b55f0947a62') . pack ('n', strlen ($tBody)) . $tBody;
echo $tMsg2;
// Send the Notification to the Server.
  $tResult = fwrite ($tSocket, $tMsg2, strlen ($tMsg2));
  //cf6cffe77ea5d3726cd5f546041ff04d4c1f2b72aa8bc286274b3b84031af85c
  // 417fa258523d0751e06ffd2f52b2b1b953789995cf94bdf7fa7a9b55f0947a62
  //$tResult2=fwrite ($tSocket, $tMsg2, strlen ($tMsg2));
$i++;
}
if ($tResult)
{
echo 'Delivered Message to APNS' . PHP_EOL;
//echo fgetss ($tSocket,$tResult);
echo $tResult;
 
}
 
else
echo 'Could not Deliver Message to APNS' . PHP_EOL;
// Close the Connection to the Server.
//echo ($tBadge);
fclose ($tSocket);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2014, 22:43
Ответы с готовыми решениями:

APNS на PHP
Привет всем, кто нить запускал на хостинге под php сервер уведомлений, вроде...

Обновить приложение в AppStore
Добрый день! Подскажите, вот, скажем, я выложила свое приложение а аппстор. А...

Отклонение приложения в AppStore
Добрый день. Я загружаю свое приложение в AppStore и мне приходит ошибка через...

Отклонение в AppStore из-за IPv6
Здравствуйте. Может кто поможет! Отклонили AR-приложение в AppStore с...

Поиск приложения в appstore
Доброго времени суток. Разместил приложение под названием &quot;Новосёл&quot; в...

2
lexus_ilia
3057 / 717 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
08.07.2014, 13:49 2
А вы проверяли работоспособность пушей, с release версией pem файла прежде чем отправлять в стор?
Я поясню откуда такой вопрос. По-хорошему, во время разработки пушей, лучше сразу настраиваться на release версию сервера (так меньше проблем во время релиза в стор). Т.е. сейчас ваши действия следующие, собирайте билд с Ad-Hoc (In-House) профайлом, собираете pem файл (еще раз на всякий случай). И проверяете свой скрипт. Если все правильно настроено, то скрипт можно выполнять на компьютере у себя.
0
mercooliy
6 / 6 / 1
Регистрация: 12.05.2013
Сообщений: 153
08.07.2014, 13:52  [ТС] 3
сори что не отписался, проблема была в payload сообщений, был в шоке так как работало на девелопе, а на продакшен почему то не понравилась сообщение для APNS, причем никаких ошибок не возникало, так что проблема решена. надо просто внимательнее заполнять само сообщение для пуша )))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2014, 13:52

Заливка приложения в AppStore
Всем привет :), сделала я свое приложение первое, но вот только как его залить...

Опубликовать приложение в AppStore
Сделал мобильное приложение из 1С. Сконвертировал его в iOS в проект Xcode,...

Не могу опубликовать приложении в appstore
Всем привет, пытаюсь выложить приложении в appstore через органайзер в xcode(...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru