- 浏览: 3011906 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (893)
- android (110)
- iphone (198)
- java (79)
- JavaScript手册-目录 (9)
- JavaScript手册-Array (19)
- JavaScript手册-Boolean (5)
- JavaScript手册-Date (50)
- JavaScript手册-Math (30)
- JavaScript手册-Number (14)
- JavaScript手册-RegExp (7)
- JavaScript手册-String (38)
- JavaScript手册-全局函数 (8)
- JavaScript实用脚本 (7)
- Others (21)
- java-jpcap (7)
- java-thread (1)
- ibm文章 (3)
- classloader (2)
- java-filter (2)
- 运行环境 (33)
- java-正则 (2)
- oracle (1)
- linux-shell (26)
- wap (1)
- sqlite (3)
- wow (1)
- jvm (1)
- git (5)
- unity3d (29)
- iap (2)
- mysql (23)
- nginx (14)
- tomcat (9)
- apache (2)
- php (1)
- ubuntu (40)
- rsa (1)
- golang (21)
- appstore (5)
- sftp (2)
- log4j (2)
- netty (18)
- 测试工具 (6)
- memcache (5)
- 设计模式 (1)
- centos (8)
- google_iab (5)
- iOS专题 (4)
- mac (10)
- 安装配置帮助手册 (2)
- im4java_graphicsmagick (5)
- inotify-tools (1)
- erlang (6)
- 微信支付 (1)
- redis (8)
- RabbitMQ (5)
最新评论
-
heng123:
Netty视频教程https://www.douban.com ...
netty4.0.23 初学的demo -
maotou1988:
使用Netty进行Android与Server端通信实现文字发 ...
netty4.0.23 初学的demo -
码革裹尸:
非常感谢,正好用上
android 呼入电话的监听(来电监听) -
rigou:
提示的/222.177.4.242 无法链接到ip地址,是什 ...
通过 itms:services://? 在线安装ipa ,跨过app-store -
duwanbo:
GridView与数据绑定
apple推送功能环境配置
环境配置需要用到:
(1)mac电脑的 Keychain Access程序 (在Applications/Utilities下 )。中文环境名为 钥匙串访问 (在/应用程序/实用工具/钥匙串访问)
(2)apple网站 https://developer.apple.com/devcenter/ios/index.action (99美金用户登录)
在读本篇文章之前,建议先阅读文章《iphone开发--真机测试 》!
具体配置步骤如下:
1. 生成证书签名请求( Certificate Signing Request, CSR )
打开 Keychain Access程序。
输入邮件地址、常用名称;在“请求是”中选择“存储到磁盘”,点按钮[继续]。
选择证书存储的目录,设置存储文件名,这里我命名为 push2013.certSigningRequest ,然后点按钮[存储]。
点按钮[完成]。
2. 导出证书签名请求CSR的私钥。
这里文件命名为 push2013.p12
在密码和验证框中输入密码。
3. 创建APP ID
打开网站 https://developer.apple.com/devcenter/ios/index.action 并登录进入 iOS Provisioning Portal;
点右上角的按钮: 。
输入 Description 和 Bundle Identifier信息,注意:Bundle Identifier名称是你以后在XCode开发中的Bundle Identifier。因此,最好能根据项目名来设置。设置后,点右下角按钮
。
找到,上面刚创建的名为push2013的应用,然后点链接“Configure”。
在“Enable for Apple Push Notification service
”前面的方框内打勾,然后点行“Development Push SSL Certificate
”对应的按钮[Configure]。
如果是发布产品,则必须选择下面的【Producy Push SSL certificate】的Configure]按钮!
选择上面生成的CSR证书文件 : push2013.certSigningRequest
点击图中的按钮
,将推送的 SSL证书下载到本地,该证书文件名设置为 aps_development.cer
然后点图中的按钮[Done]。
可以看到状态变为 了,然后点右下角的按钮[Done]。
4.创建开发配置属性参数(Development Provisioning Profiles )
进入菜单 [Provisioning ],然后点击右上角的按钮 。
输入参数“Profile Name”(可以是任意名称),选中你的“Certificates”、选择上面创建的APP Id,选中你的“Devices”。
备注:如果没有配置“Certificates”和“Devices”,那么请先参考文章
iphone开发--真机测试
进行配置吧!
在参数确定后,点击右下角的按钮 。
可以看到如下界面:
前面创建的push2013_profile的status为“Pending”,然后刷新当前页面,直到出现下面的界面。
push2013_profile的status变为“Active”,就可以点击旁边的按钮[
]。
下载到本地,文件名为 push2013_profile.mobileprovision 。
把你要用来测试的真机(ipad或iphone)接上你的MAC电脑。
然后双击文件push2013_profile.mobileprovision 运行,会自动打开XCODE的Organizer,并在你的真机中加入该文件。
5.在xcode中创建推送测试程序。
注意:图中方框内的“Bundle Identifier”必须和前面创建 APP ID中的“Bundle Identifier”相同。
项目创建后,修改 “AppDelegate.m ”的方法[didFinishLaunchingWithOptions]代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; // Let the device know we want to receive push notifications [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; return YES; }
另外新增2个方法:
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { NSLog(@"My token is: %@", deviceToken); } - (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error { NSLog(@"Failed to get token, error: %@", error); }
在运行前,请选择真机运行,而且真机必须是联网的,否则看不到推送效果!!
选择真机运行,如下图:
如果看不到真机,那么请先参考文章
iphone开发--真机测试
进行配置吧!
真机运行后,可以看到真机上有推送确认框。如下图:
点击按钮[好]。
另外在xcode的控制台看到输出信息,如下图:
会看到一个64个字符的号码,这个号码就是你的真机的推送ID,如果你要给这个真机发通知,则必须记下这个64位的号码。
这里,请记下你测试真机的推送ID。
6.创建推送通知发送服务程序,用来给真机发推送通知信息。
6.1 制作推送程序必须的证书。
通过上面的一系列操作,我们已经得到了3个主要的证书相关的文件。
为方便操作,请将这3个文件放在同一个目录下。
打开1个MAC终端(终端程序 位置如下图)
在终端上,进入到3个证书文件所在的目录。
执行命令:
openssl x509 -in aps_development.cer -inform der -out push2013cert.pem
执行后,得到证书文件 push2013cert.pem
执行命令:
openssl pkcs12 -nocerts -out push2013key.pem -in push2013.p12
执行后,输入密码(3次),然后会得到证书文件 push2013key.pem
执行命令:
cat push2013cert.pem push2013key.pem > push2013.pem
这里得到的证书文件 push2013.pem ,就是推送程序需要的证书(php可以使用pem格式证书)。
如果是java或者.net开发的话,必须使用.p12格式的证书。
执行下面命令来制作p12证书:
openssl pkcs12 -export -inkey push2013key.pem -in push2013cert.pem -out push2013java.p12
得到的证书文件 push2013java.p12 就可以用用于java或.net开发。
6.2 创建一个简单的推送程序。
到了这里,我们已经准备了1个证书文件,1个测试真机的推送ID(就是上面所说的64位号码,注意空格符号要去掉)。
下面只需要1个程序就可以发推送通知了。
这里有1个现成的发送程序(php语言的),参见附件中的 simplepush.php.zip ,下载后解压得到文件 simplepush.php,将其放到与证书 push2013.pem相同目录下。
修改 simplepush.php 内容:
按照图中的提示信息,填写上对应的信息。注意:真机推送ID不要有空格。
文件中的 gateway.sandbox.push.apple.com:2195 是沙箱测试地址。2195是端口号。
文件修改好后,请先将真机运行程序退出(程序运行中看不到推送通知),然后在终端执行命令:
php simplepush.php
执行成功后,将显示:
Connected to APNS
Message successfully delivered
表示推送通知发送成功了!!!!
在测试真机上可以看到:
如果你看到的不一样,可能是真机上对于通知的配置不一样导致。
- simplepush.php.zip (1.2 KB)
- 下载次数: 20
发表评论
-
iOS程序运行生命周期
2015-11-10 09:05 1016iOS程序运行生命周期 在文件AppDele ... -
iOS开发系列--IOS程序开发概览
2015-11-10 07:32 1229iOS开发系列--IOS程序开发概览 概览 ... -
2015年11月Xcode7.1(7B91b)打包发布苹果iOS应用指南
2015-11-09 18:29 109842015年11月Xcode7.1(7B91b) ... -
self.navigationController pushViewController执行不成功
2015-11-06 08:28 1717self.navigationControlle ... -
ios NSString format 保留小数点 float double
2015-11-05 17:37 2994ios NSString format 保留小数点 f ... -
自定义 URL Scheme 完全指南
2015-11-04 16:21 949自定义 URL Scheme 完全指南 转载 htt ... -
UIViewController生命周期方法viewDidLoad、viewWillAppear和viewDidAppear
2015-11-01 12:29 3016UIViewController生命周期 ... -
关于self.view.window与viewDidLoad、viewWillAppear、viewDidAppear
2015-11-01 09:36 2613关于self.view.window与viewD ... -
UIScreen学习记录
2015-10-31 08:18 1105UIScreen学习记录 转载自 ... -
使用NSTimer和CGAffineTransformMakeRotation实现旋转动画
2015-10-29 11:53 1906使用NSTimer和CGAffineTransform ... -
【原】iOSCoreAnimation动画系列教程(一):CABasicAnimation【包会】
2015-10-29 08:59 1076【原】iOSCoreAnimation动 ... -
iOS 在UILabel显示不同的字体和颜色
2015-10-27 08:07 1592在项目开发中,我们经常会遇到在这样一种情形:在一个UI ... -
UISlider滑动条的属性介绍以及于标签联合使用实时显示变动值
2015-10-27 08:06 1313UISlider滑动条的属性 ... -
关于使用DSLTableView下拉刷新数据遇到的问题
2015-10-23 21:17 998关于使用DSLTableView下 ... -
使用AdSupport.framework生成IDFA唯一标识符
2015-10-23 17:29 4770使用AdSupport.framework生成IDFA ... -
AppDelegate的详解
2015-10-22 17:51 731AppDelegate的详解 ... -
iOS开发问题集锦
2015-10-22 13:06 5651. Xcode开发连真机运行报错Please ver ... -
iOS 对象属性参数名定义的注意事项不能以alloc,new,copy,mutableCopy 作为开头命名
2015-10-21 15:41 1374property's synthesized g ... -
iOS-自定义的画圆或弧的UIView
2015-10-21 14:20 2705iOS-自定义的画圆或弧的UIView Cu ... -
iOS自定义的模态提示对话框
2015-10-20 14:27 6533iOS自定义的模态提示对话框 基本思路: 1.创建 ...
相关推荐
在这个场景下,我们关注的是“信鸽推送”服务,它支持对Android和Apple(iOS)设备进行消息推送。本文将详细探讨如何使用C#语言与信鸽推送API进行集成,实现跨平台的消息推送。 一、信鸽推送简介 信鸽推送是中国...
在IT行业中,苹果推送(Apple Push Notification service,简称APNs)是苹果公司为开发者提供的一...无论是从源码层面理解其工作原理,还是在实际项目中运用这些工具,都能帮助我们更好地掌握苹果推送这一重要的功能。
- Apple Push Notification service(APNs): 苹果推送通知服务。 - device token: 设备标识符,用于唯一识别一个设备,是实现推送通知的必要条件。 -AppDelegate.h: 应用程序代理头文件,用于处理应用程序级别的事件...
Java向苹果服务器推送消息是iOS应用开发者经常遇到的需求,用于实时通知用户新的信息或系统状态。APNs(Apple Push Notification service)是苹果公司提供的推送服务,允许开发者将消息推送到用户的iOS设备上。本...
Java整合APNS推送服务是将Java应用程序与Apple Push Notification Service(APNS)相结合,以便能够向iOS和tvOS设备发送即时消息。APNS是苹果公司提供的一个服务,它允许开发者在用户不打开应用的情况下,向他们的...
在本文中,我们将深入探讨如何使用Go语言进行网络编程,特别是在小米推送平台上实现201706版本的iOS推送功能,包括自定义推送标题和铃声等特性。小米推送服务是一个强大的工具,允许开发者向小米设备发送消息,增强...
开发者需要在Apple Developer Account中配置证书和密钥,并在应用中集成相应的SDK,以便接收和处理来自服务器的推送消息。 3. **Firebase Cloud Messaging (FCM)**:谷歌提供的跨平台推送服务,支持Android、iOS...
3. **证书配置**:为了进行推送,需要在Apple Developer账号中创建APNs(Apple Push Notification service)证书。这包括创建SSL证书,下载并双击安装到钥匙串访问,然后导出.p12文件,上传至极光推送后台。 4. **...
苹果的推送通知服务(APNs,Apple Push Notification service)是实现这一功能的关键。当开发者想要向用户的iOS设备发送推送通知时,他们需要配置一个aps_developer_identity.cer证书,这个证书用于验证开发者有权...
`iOS苹果推送apns测试工具.zip`文件包含的资源显然是为了帮助开发者测试APNs的功能和配置。以下是对APNs和相关测试工具的详细解释。 **苹果推送通知服务(APNs)** 1. **工作原理**:当应用程序注册APNs时,苹果...
在iOS应用开发中,苹果推送服务(Apple Push Notification service,简称APNs)是苹果提供的一种向用户设备发送通知的服务。`notnoop`是Java库,用于帮助开发者与APNs进行交互,实现远程推送通知功能。本文将深入...
#### 一、苹果推送基本流程及实现方法 **1.1 APNS推送机制概述** 苹果推送服务(Apple Push Notification service, APNS)是苹果公司提供的一项服务,用于向iOS设备推送消息。APNS推送机制主要包括三个参与方:应用...
7. **无需后台**: 描述中提到这个工具不需要后台,意味着开发者可以直接在Mac上使用这个工具进行推送通知的测试,而无需搭建或配置复杂的服务器环境。 8. **证书与Profile**: 在使用APNS之前,开发者需要获取苹果的...
《iOS远程推送开发手册》是一本详尽指导iOS开发者实现远程推送功能的资源集合,旨在帮助开发者们在项目中成功集成这一关键特性。远程推送(Remote Notification)是iOS设备与服务器间通信的重要手段,用于在应用程序...
这个Mac版本的Pusher可能是为开发者提供了一个本地化的环境,以便在Mac上直接测试iOS应用的推送功能,而无需依赖远程服务器或复杂的配置。 推送通知的工作原理基于苹果的Apple Push Notification service (APNs)。...
总之,iOS远程推送发送器是一个强大的辅助工具,它可以帮助开发者快速测试和优化推送通知功能,确保在实际环境中能够正常工作。理解APNs的工作原理以及如何配置和使用这样的工具,对于提高用户体验和保持应用活跃度...
苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项用于向iOS设备推送通知的服务,它允许开发者通过推送通知的方式向用户提供信息。这在移动应用开发中尤为重要,因为它有助于提高用户...
在iOS应用开发中,消息推送是一项重要的功能,它能让开发者在用户不打开应用程序时,向他们发送通知。本文将深入探讨“ios消息推送源码”,包括PHP服务端的实现,适用于那些正在使用Xcode 6.1进行APNs(Apple Push ...
1. **配置开发和生产环境**:在使用PushMeBaby之前,你需要在Apple Developer Account中创建并配置相应的推送证书(Development和Production)。这两个证书分别用于在开发和发布阶段推送通知。 2. **安装和启动...
在Android平台上实现视频推送,尤其是基于RTSP(Real-Time Streaming Protocol)的技术,是移动应用开发中的一个重要领域。RTSP是一种应用层协议,主要用于控制多媒体数据的传输,常用于实时流媒体服务,如在线直播...