iOS极光推送文档
一、创建工程
Product Name:baixin
Company Identifier:com.bluewave
Bundle Identifier:com.bluewave.baixin
二、申请证书
1.创建应用程序ID
a.登陆 iOS Dev Center 选择进入iOS Provisioning Portal。
b.在 iOS Provisioning Portal中,点击App IDs进入App ID列表。
c. 创建 App ID,如果 ID 已经存在可以直接跳过此步骤
d. 根据实际情况完善 App ID 信息并提交,注意此处需要指定具体的 Bundle ID 不要使用通配符。
注:此错误表示有相同的App ID,不需再创建
e. 为 App 开启 Push Notification 功能。如果是已经创建的 App ID 也可以通过设置开启 Push Notification 功能。
f.到此App ID以创建好,后面直接点击submit即可。
2.配置和下载证书
a.如果你之前没有创建过 Push 证书或者是要重新创建一个新的,请在证书列表下面新建。
b.新建证书需要注意选择证书种类(开发证书用于开发和调试使用,生产证书用于 App Store 发布)
注:在发布应用时,这4个证书都需要创建,测试时,只需两个就可以了
c.点击 Continue 后选择证书对应的应用ID,然后继续会出现“About Creating a Certificate Signing Request (CSR)”。
d.点击Continue,到后面如下这一步
e.创建证书签名请求(CSR)
f.点击继续,储存一个.certSigningRequest的csr文件。
g.继续上面的d步骤,将. certSigningRequest添加进来,然后进入下面页面
h.将这步骤如此操作4次,创建好证书。
3.导出.p12证书文件( 两个都要导出)
a. 将推送证书双击,在“钥匙串访问”中你的证书会显示在“我的证书”中,注意选择“MyCertificates” 和"login",导出证书时要选中证书文件,不要展开private key。
b.点击导出,并命名为xxx.p12文件
c.点击save后,会出现这个窗口,这里的密码可以不用设置,直接下一步。但是如果你设置了就必须记住,后面创建应用那里需要用到。。。
4.创建配置文件(Provisioning Profiles)
a.这里至少一个开发,一个生产
b.下一步
c.到这里选择将要运行的设备,你可以只选某一个,当你不确定时,也可以全选。。。。
d.现在配置文件也建好了,下载保存就好。。。。
嘿嘿…….如下就是创建出来的所有证书了。。。。
OK啦~~~~~,证书什么的都好了,下面来上传证书了。。。。
三、上传证书
a.https://www.jpush.cn/apps/new 进入极光推送页面。(先注册一个极光账号)
b.创建应用
现在应用就创建好了,接下来就是更改工程中的一些设置了。。。。。
四、操作工程文件
1.导入API开发包到应用程序项目
a.将SDK包解压,在XCode中选择“Add files to ‘Your project name‘...”,将解压后的lib子文件夹(包含APService.h、libPushSDK.a)添加到你的工程目录中。
2.必要的框架
- CFNetwork.framework
- CoreFoundation.framework
- CoreTelephony.framework
- SystemConfiguration.framework
- CoreGraphics.framework
- Foundation.framework
- UIKit.framework
- Security.framework
- libz.dylib
3.Build Settings
a .设置 Search Paths 下的 User Header Search Paths 和 Library Search Paths,比如SDK文件夹(默认为lib)与工程文件在同一级目录下,则都设置为"$(SRCROOT)/[文件夹名称]"即可。
4.创建并配置PushConfig.plist文件
a .在你的工程中创建一个新的Property List文件,并将其命名为PushConfig.plist,填入Portal为你的应用提供的APP_KEY等参数。
{ "APS_FOR_PRODUCTION = "0"; "CHANNEL" = "Publish channel"; "APP_KEY" = "AppKey copied from JPush Portal application"; } |
- CHANNEL
- 指明应用程序包的下载渠道,为方便分渠道统计。根据你的需求自行定义即可。
- APP_KEY
- 在管理Portal上创建应用时自动生成的(AppKey)用以标识该应用。请确保应用内配置的 AppKey 与第1步在 Portal 上创建应用时生成的 AppKey 一致,AppKey 可以在应用详情中查询。?
- APS_FOR_PRODUCTION
- 1.3.1版本新增,表示应用是否采用生产证书发布( Ad_Hoc 或 APP Store ),0 (默认值)表示采用的是开发者证书,1 表示采用生产证书发布应用。请注意此处配置与 Web Portal 应用环境设置匹配。
- 在1.2.2或之前版本的配置文件中,有 TEST_MODE 这个键,新版的SDK不再使用,可以将它删除。?
5.添加关键代码
1.- (BOOL)application: didFinishLaunchingWithOptions: 方法里:
五、常见的错误
1.
解决办法:
2.点击通知进入应用后,通知栏的消息删除,并且应用上的badge number为0
解决办法:
注意:
1.对于badge number需要后台在推送时设置+1或 -1.
2.对于生产环境还是开发环境都是由后台来设置
3.客户端需要给服务器传递tag、alias
4.如果在同一个应用上切换用户a/b,第一个用户的alias会被第二个的alias覆盖掉,不过第一个用户的离线消息还有效,这种情况你可以把离线保存时间设置长点