主要记录下自己的学习过程,及过程中遇到的难点、疑惑点、遇到的问题
学习博客网址:
http://blog.csdn.net/showhilllee/article/details/8631734
1、 中间遇到的错误:
// Open a connection to the APNS server
$fp = stream_socket_client(
'ssl://gateway.sandbox.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
更换这个的时候,吧ssl:这个东西丢了
2、疑惑点:
主要步骤
(1)appleID (开通push 权限)
(2) appID 对应的pushCer(主意选择push sevevice)
(3) appID 对应的开发profile对应的开发cer可以是任意的,你电脑上认可的就可以
3、客户端实现细节点:
/*
关于推送
1、如果程序运行中:调用系统方法 didReceiveRemoteNotification
2、如果程序运行在后台 ,收到一条消息
(1) 如果用户点击消息: 调用系统方法 didReceiveRemoteNotification 系统自动清除通知栏中的消息
(2)如果用户没有点击消息:消息丢失,没有办法得到此条消息
3、如果程序没有运行 收到一条消息
(1) 如果用户点击消息: 调用系统方法 didFinishLaunchingWithOptions 通过launchOptions 获得此条消息 系统自动清除通知栏中的消息
(2)如果用户没有点击消息:消息丢失,没有办法得到此条消息
*/
4、目前没有弄明白的地方
对于下面这个方法
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
什么情况下在后台自动调用此种方法,没有实现这种情况