欢迎来到天天文库
浏览记录
ID:13778203
大小:785.00 KB
页数:18页
时间:2018-07-24
《ios实现推送消息并用php做推送服务端的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、iOS实现推送消息并用PHP做推送服务端的方法IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下:iOS消息推送的工作机制可以简单的用下图来概括:Provider是指某个iPhone软件的Push服务器,APNS是ApplePushNotificationService的缩写,是苹果的服务器。上图可以分为三个阶段:第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。第二阶段:APNS在自身的已注册Push服务的
2、iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。南宁IOS开发培训从上图我们可以看到:1、应用程序注册消息推送。2、iOS从APNSServer获取devicetoken,应用程序接收devicetoken。3、应用程序将devicetoken发送给PUSH服务端程序。4、服务端程序向APNS服务发送消息。5、APNS服务将消息发送给iPhone应用程序。无论是iPhone客户端和AP
3、NS,还是Provider和APNS,都需要通过证书进行连接。下面我介绍一下几种用到的证书。一、CSR文件1、生成CertificateSigningRequest(CSR)南宁IOS开发培训2、填写你的邮箱和常用名称,并选择保存到硬盘。点击继续:南宁IOS开发培训这样就在本地生成了一个Push.certSigningRequest文件。二、p12文件1、导出密钥。南宁IOS开发培训2、输入你的密码。这样就生成了一个Push.p12文件。三、SSLcertificate文件1、用你付过费的帐号登录到
4、iOSProvisioningPortal,并新建一个AppID,这个过程可以参考:iOS应用的真机调试,这样就会生成下面这条记录:2、点击右侧的Configure:南宁IOS开发培训3、点击DevelopmentPushSSLCertificate一行后的Configure:4、点击Continue:南宁IOS开发培训5、选择前面生成好的Push.certSigningRequest文件,点击Generate,出现如下所示的页面:南宁IOS开发培训6、点击Continue:南宁IOS开发培训7、点
5、击Download,并将文件命名为aps_developer_identity.cer。8、点击Done,你会发现状态变成了Enabled:到现在为止,我们已经生成了三个文件:1、Push.certSigningRequest南宁IOS开发培训2、Push.p123、aps_developer_identity.cer双击aps_developer_dientity.cer注册到你的钥匙串中,这样你的钥匙串中就会有二、准备profile证书,因为推送消息只能再真机上测试,所以要建一个profile证
6、书点击"newprofile"为上面新建的APPID建个profile,成功之后下载*_Dev_Profile.mobileprovision双击将其加入到xcode的ProvisioningProfiles中,这里有一点要注意,再将这个加入xcode之前如果之前已经加入过一定要把之前加入的删掉,如果有多个的话会出错。三、工程代码到这里证书已经准备完毕,接下来,我们在xcode中新建一个测试工程,注意设置工程的BundleIdentifier必须与上面建的APPID里的相同南宁IOS开发培训在did
7、FinishLaunchingWithOptions中加入一下代码-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{[self.windowmakeKeyAndVisible];[[UIApplicationsharedApplication]registerForRemoteNotificationTypes:UIRemoteNotific
8、ationTypeBadge
9、UIRemoteNotificationTypeSound
10、UIRemoteNotificationTypeAlert];returnYES;}-(void)application:(UIApplication*)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData*)pToken{NSLog(@"regisgersuccess:%@",pToken);//
此文档下载收益归作者所有