ios极光推送通知

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覆盖掉,不过第一个用户的离线消息还有效,这种情况你可以把离线保存时间设置长点

原文地址:https://www.cnblogs.com/xumei/p/3939917.html