1、在JPush Portal上创建应用
在 JPush的管理Portal 上创建应用并上传APNs证书。如果对APNs证书不太了解 请参考: http://docs.jiguang.cn/client/ios_tutorials/#ios_1
创建成功后自动生成 AppKey 用以标识该应用。
2、导入API开发包到应用程序项目
将SDK包解压,在XCode中选择“Add files to 'Your project name'...”,将解压后的lib子文件夹(包含JPUSHService.h、jpush-ios-x.x.x.a)添加到你的工程目录中。
3、必要的框架
CFNetwork.framework
CoreFoundation.framework
CoreTelephony.framework
SystemConfiguration.framework
CoreGraphics.framework
Foundation.framework
UIKit.framework
Security.framework
Xcode7需要的是libz.tbd;Xcode7以下版本是libz.dylib
Adsupport.framework (获取IDFA需要;如果不使用IDFA,请不要添加)
4、Build Settings
如果你的工程需要支持小于7.0的iOS系统,请到Build Settings 关闭 bitCode 选项,否则将无法正常编译通过。
设置 Search Paths 下的 User Header Search Paths 和 Library Search Paths,比如SDK文件夹(默认为lib)与工程文件在同一级目录下,则都设置为"$(SRCROOT)/{静态库所在文件夹名称}"即可。
5、创建并配置PushConfig.plist文件
2.1.0 版本开始,新增了带参数的setupWithOption初始化方法,可通过此方法等参数传入AppKey等信息。
1.8.8及之前版本的 JPush SDK只能通过PushConfig.plist配置AppKey等信息。
在你的工程中创建一个新的Property List文件,并将其命名为PushConfig.plist,文件所含字段如下:
CHANNEL
指明应用程序包的下载渠道,为方便分渠道统计,具体值由你自行定义,如:App Store。
APP_KEY
填写管理Portal上创建应用后自动生成的AppKey值。
请确保应用内配置的 AppKey 与第1步在 Portal 上创建应用后生成的 AppKey 一致。
APS_FOR_PRODUCTION
1.3.1版本新增,用于标识当前应用所使用的APNs证书环境。
0 (默认值)表示采用的是开发证书,1 表示采用生产证书发布应用。
注:此字段的值要与Build Settings的Code Signing配置的证书环境一致。
在1.2.2或之前版本的配置文件中,有 TEST_MODE 这个键,新版的SDK不再使用,可以将它删除。
PushConfig.plist文件示例图:
6、添加代码
2.1.0版本开始,API类名为JPUSHService,不再使用原先的APService。
允许XCode7支持Http传输方法
如果用的是Xcode7时,需要在App项目的plist手动配置下key和值以支持http传输:
选择1:根据域名配置
在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。
然后给它添加一个NSExceptionDomains,类型为字典类型;
把需要的支持的域添加給NSExceptionDomains。其中jpush.cn作为Key,类型为字典类型。
每个域下面需要设置2个属性:NSIncludesSubdomains、NSExceptionAllowsInsecureHTTPLoads。两个属性均为Boolean类型,值分别为YES、YES。
如图:
选择2:全局配置
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
集成所需API
APIs 主要集中在 JPUSHService 接口类里。
初始化JPush方法分为三个:
1.8.8及以下版本使用的是已过期的初始化方法。升级到2.1.5的老用户仍可继续使用旧的初始化方法。
2.1.0版本开始提供带appkey等参数的初始化方法。使用此方法无需再添加PushConfig.plist配置JPush的AppKey等字段。
2.1.5版本开始提供带appkey以及IDFA等参数的初始化方法。使用此方法无需再添加PushConfig.plist配置JPush的AppKey等字段。
使用建议:
三个初始化 JPush的方法同时存在,以第一个被调用的方法为准。