本文介绍了苹果推送通知与临时搭建不开发工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在开发模式下,我可以发送推送通知的设备,而不是我不能在生产中,我的设置是:
- >我从供应门户下载aps_production.cer证书,然后双击安装aps_production.cer钥匙串访问终于得到当时它要求密码钥匙串访问私钥我已经给像admin的一些密码
- > OpenSSL的PKCS12 -in CertificateName_pro.p12退房手续CertificateName_pro.pem -nodes
- >苹果服务器APN:gateway.push.apple.com与2195端口
- >的问题是,我的Rails应用程序发送通知并没有收到任何错误,但没有到达设备
。 - (无效)应用:(*的UIApplication)应用didRegisterForRemoteNotificationsWithDeviceToken:(NSData的*)deviceToken {
的NSString * deviceTokenStr = [[[[deviceToken描述]
stringByReplacingOccurrencesOfString:@< withString:@]
stringByReplacingOccurrencesOfString:@>中withString:@]
stringByReplacingOccurrencesOfString:@withString:@]; }
simplepush.php
< PHP//把你的设备令牌这里(无空格):
$ deviceToken ='deviceTokenStr';//把你的私钥的密码在这里:
$密码='管理员';//这里把你的警告信息:
$消息='你有管理的一个新问题!;////////////////////////////////////////////////// //////////////////////////////$ CTX = stream_context_create();
stream_context_set_option($ CTXSSL,的local_cert','CertificateName_pro.pem');
stream_context_set_option($ CTX,'SSL','管理',$密码);//打开到APNS服务器的连接
$计划生育=在stream_socket_client(
SSL://gateway.push.apple.com:2195',$犯错,
$ errstr,60,STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT,$ CTX);如果(!$ FP)
退出(无法连接:$犯错$ errstrPHP_EOL);回声连接到APNS。 PHP_EOL;//创建有效载荷体
$身体['APS'] =阵列(
'警报'=> $消息,
声音= GT; '默认',
'徽章'
);// EN code中的有效载荷为JSON
$有效载荷= json_en code($体);//生成二进制通知
$味精= CHR(0)。包('N',32)。包(H *',$ deviceToken)。包('N',strlen的($有效载荷))。 $有效载荷;//它发送到服务器
$结果=的fwrite($计划生育,$味精,strlen的($味精));如果(!$结果)
回声消息发送失败。 PHP_EOL;
其他
回声的消息成功传递。 PHP_EOL;//关闭与服务器的连接
FCLOSE($ FP);
在终端上运行
苹果:测试macmini $ PHP simplepush.php
连接到APNS
信息成功发送
解决方案
请为了解设备令牌ID的
,
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSString *deviceTokenStr = [[[[deviceToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""];
UIAlertView *alert= [[UIAlertView alloc]initWithTitle:deviceTokenStr message:Nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
}
这篇关于苹果推送通知与临时搭建不开发工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!