Форум программистов, компьютерный форум CyberForum.ru

APNS на PHP - Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS/iPhone Отслеживание событий в приложении http://www.cyberforum.ru/ios-dev/thread1211279.html
Встраиваю в свое приложение Google Analytics SDK для сбора информации о действиях пользователя. След код позволяет отправить событие: id<GAITracker> tracker = defaultTracker]; )]; build]]; ; Возникли вопрос больше организационного характера: Какие имена давать категориям, экшенам, лейблам при различных действиях пользователя? Какие параметры передавать в событии, чтоб потом это всё...
Программирование iOS/iPhone Перемещение объекта пальцем Подскажите как при помощи среды разработки xcode с использованием cocos2d реализовать перемещение спрайта по экрану при помощи тачскрина по системе куда палец передвинул, туда и переместился спрайт, в простонародье джойстик, но без графической составляющей http://www.cyberforum.ru/ios-dev/thread1209285.html
Программирование iOS/iPhone Вращение UIView по типу часовой стрелки
Всем доброго времени суток, собственно есть задача иммитировать часы, избараздив просторы интернета и IOS Documentation, у меня получилось вращать стрелку относительно центра (strelka.layer.transform = CATransform3DMakeRotation( f, 0, 0, 1)), затем нашол еще один способ вращения, правда тогда стрелка вращается вообще непойми как (strelka.transform= CGAffineTransformMakeRotation(f)), одако мне...
Программирование iOS/iPhone Неверная передача типа
Выходит ошибка Expected edition; http://i6.pixs.ru/thumbs/8/5/8/xmpng_1804737_12539858.jpg"]http://i6.pixs.ru/thumbs/8/5/8/xmpng_1804737_12539858.jpg
Программирование iOS/iPhone Соединение проектов http://www.cyberforum.ru/ios-dev/thread1207081.html
В 1 приложении у меня есть простенькое приложение, а в 2 есть приложение с CoreData TabBar Controller могу ли я этот TabBar controller подключить к 1 приложению на пустой TabBar как нибудь? спасибо Добавлено через 7 часов 39 минут или как соединить 2 сторибоарда в одном проекте со своими классами?
Программирование iOS/iPhone Как сохранить данные при переходе на другой ViewController? у меня есть два вьюконтроллера на первом: кнопка перехода на второй вьюконтроллер (связь modal), лэйбл и кнопка изменяющая лэйбл на втором: кнопка перехода на первый вьюконтроллер (связь modal) и лэйбл при нажатии на кнопку на первом vc я изменяю лэйбл на этом же vc и через делегирование на втором vc. затем перехожу на второ vc, там лэйбл не изменился, затем перехожу обратно на первый... подробнее

Показать сообщение отдельно
mercooliy
6 / 6 / 0
Регистрация: 12.05.2013
Сообщений: 133
19.06.2014, 23:49  [ТС]     APNS на PHP
А касательно сертификата, достаточно одного .pem который экспортирован вместе с ключом??? а то я где то читал что надо ещё какой то сертификат на сервак кидать???

Добавлено через 4 часа 28 минут
А вот такое должно работать?
а то библиотека криво запускается, autoload.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
<? ini_set('display_errors', 1); 
error_reporting(E_ALL); 
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsCert = 'dev.pem';
$apnsPort = 2195;
//echo("start");
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($stream_context, 'ssl', 'passphrase', 'pass');
//stream_context_set_option($streamContext, 'ssl', 'verify_peer', false);
stream_context_set_option($streamContext, 'ssl', 'cafile', 'entrust.cer'); 
 
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString,60 , STREAM_CLIENT_CONNECT, $streamContext);
 
if (!$apns) {
    echo "$errorString ($error)<br />\n";
}
if (file_exists($apnsCert)) 
       echo("cert file exists\n"); 
echo($apns);
echo($error);
 
$payload['aps'] = array('alert' => 'Oh hai!', 'badge' => 1, 'sound' => 'default');
$output = json_encode($payload);
//echo ($output);
$token = 'cf6cffe77ea5d3726cd5f546041ff04d4c1f2b72aa8bc286274b3b84031af85c';
//pack('H*', str_replace(' ', '', $token))
$apnsMessage = chr(0) . chr(0) . chr(32) . $token . chr(0) . chr(strlen($output)) . $output;
echo(fwrite($apns, $apnsMessage));
//echo($apnsMessage);
socket_close($apns);
fclose($apns);
?>
Добавлено через 2 часа 3 минуты
Разобрался.... вот он грааль)))) только я читал что типа нельзя просто 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
 
// Provide the Host Information.
 
$tHost = 'gateway.sandbox.push.apple.com';
 
$tPort = 2195;
 
// Provide the Certificate and Key Data.
 
$tCert = 'dev.pem';
 
// Provide the Private Key Passphrase (alternatively you can keep this secrete
 
// and enter the key manually on the terminal -> remove relevant line from code).
 
// Replace XXXXX with your Passphrase
 
$tPassphrase = 'XXXXX';
 
// Provide the Device Identifier (Ensure that the Identifier does not have spaces in it).
 
// Replace this token with the token of the iOS device that is to receive the notification.
 
$tToken = 'cf6cffe77ea5d3726cd5f546041ff04d4c1f2b72aa8bc286274b3b84031af85c';
 
// The message that is to appear on the dialog.
 
$tAlert = 'You have a LiveCode APNS Message';
 
// The Badge Number for the Application Icon (integer >=0).
 
$tBadge = 8;
 
// Audible Notification Option.
 
$tSound = 'default';
 
// The content that is returned by the LiveCode "pushNotificationReceived" message.
 
$tPayload = 'APNS Message Handled by LiveCode';
 
// Create the message content that is to be sent to the device.
 
$tBody['aps'] = array (
 
'alert' => $tAlert,
 
'badge' => $tBadge,
 
'sound' => $tSound,
 
);
 
$tBody ['payload'] = $tPayload;
 
// Encode the body to JSON.
 
$tBody = json_encode ($tBody);
 
// Create the Socket Stream.
 
$tContext = stream_context_create ();
 
stream_context_set_option ($tContext, 'ssl', 'local_cert', $tCert);
 
// Remove this line if you would like to enter the Private Key Passphrase manually.
 
stream_context_set_option ($tContext, 'ssl', 'passphrase', $tPassphrase);
 
// Open the Connection to the APNS Server.
 
$tSocket = stream_socket_client ('ssl://'.$tHost.':'.$tPort, $error, $errstr, 30, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $tContext);
 
// Check if we were able to open a socket.
 
if (!$tSocket)
 
exit ("APNS Connection Failed: $error $errstr" . PHP_EOL);
 
// Build the Binary Notification.
 
$tMsg = chr (0) . chr (0) . chr (32) . pack ('H*', $tToken) . pack ('n', strlen ($tBody)) . $tBody;
 
// Send the Notification to the Server.
 
$tResult = fwrite ($tSocket, $tMsg, strlen ($tMsg));
 
if ($tResult)
 
echo 'Delivered Message to APNS' . PHP_EOL;
 
else
 
echo 'Could not Deliver Message to APNS' . PHP_EOL;
 
// Close the Connection to the Server.
 
fclose ($tSocket);
 
?>
Добавлено через 8 минут
Кстати вот туториал полный http://lessons.runrev.com/s/lessons/...tions-with-ios
 
Текущее время: 02:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru