推送学习

主要记录下自己的学习过程,及过程中遇到的难点、疑惑点、遇到的问题

     学习博客网址:

       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{

什么情况下在后台自动调用此种方法,没有实现这种情况

你可能感兴趣的:(推送学习)