XCode集成

XCode集成

前言

  • 开发环境下手动方式导入SDK资源进行集成的步骤,配置相对复杂,需要仔细阅读文档和Demo工程。
  • 个推在国内首创APNs展示统计功能,可精确统计通过苹果APNs服务下发的通知数量,开发者可以获知更为精准的推送展示数和通知点击率,为运营提供了更强大的数据支持。
  • 个推多媒体推送功能支持,可通过后台推送多媒体资源,支持图片,音频,视频的展示。
  • 本文档适用SDK版本:2.3.0.0 及以后
  • 请参考GtSdkDemoDemo工程

1. 创建个推应用

  • 请登录 http://dev.getui.com ,选择登记应用并填写应用名称和包名信息,完成应用创建:

img_xcode_create

img_xcode_create

  • 点击应用配置,获取到相应的AppIDAppKeyAppSecret信息:

img_xcode_create

2. 打开项目工程

  • 启动XCode,打开您之前创建的iOS项目工程:

img_xcode_open

3. 添加个推SDK及相关配置

3.1 个推iOS SDK资料包结构

GETUI_IOS_SDK/
  |- readme.txt (SDK资料包说明)
  |- API文档/ (iOS SDK相关集成文档PDF版本)
  |- 资源文件/
  |    |- GtSdkLib/ (标准版个推SDK.framework文件)
  |    |   |- GTExtensionSDK.framework
  |    |   |- GTSDK.framework
  |    |- GtSdkLib-noidfa/ (无IDFA版个推SDK.framework文件)
  | - Demo工程/
  |    |- GtSdkDemo/ (XCode标准集成演示Demo工程)
  |    |- GtSdkDemo-objc/ (Object-C标准集成框架代码工程,示范CocoaPods集成)
  |    |- GtSdkDemo-swift/ (Swift标准集成框架代码工程)
  |    |- GtSdkLib/ (个推SDK库文件,供上述Demo工程引用)
  • GtSdkDemo:SDK 演示 Demo,能更好的展示个推 SDK 功能点。
  • GtSdkDemo-objc:objc 集成 Demo,方便 objc 开发者集成个推 SDK。
  • GtSdkDemo-swift: Swift 集成 Demo,方便 Swift 开发者集成个推 SDK。
  • GtSdkLib:标准版个推SDK,包含集成所需的静态库和头文件。


(1)、如果在 App 内投放广告,获取 IDFA 可通过苹果审核。

(2)、如果 App 内无广告,可参考如下勾选,通过苹果审核。


使用标准版本SDK需添加 AdSupport.framework 库支持

  • GtSdkLib-noidfa:无IDFA版个推SDK,包含集成所需的静态库和头文件。

    在 App 内无广告情况下还是建议开发者使用获取 IDFA 版本,并参考(2)中所说的方式提交 AppStore 审核。当然,如果开发者不想使用 IDFA 或者担忧采集 IDFA 而未集成任何广告服务遭到 Apple 拒绝,我们也准备了该无 IDFA 版本供开发者集成。


使用无 IDFA 版本SDK需删除 AdSupport.framework 库支持

  • libGeTuiSdk-{version}:个推SDK核心库文件,使用libo工具将
    支持i386x86_64arm64armv7的代码打包到了一起,所以这个库将同时支持simulatordevice设备,支持 iOS 版本为7.0及以上。

  • libGtExtensionSdk:为Notification Service Extension扩展库,支持 iOS 10 以上进行 APNs 通知展示数统计。

3.2 导入个推SDK

  • GtSdkLib目录拷贝到项目工程目录下,导入GtSdkLib文件夹:

3.3 库引用检查

  • 在导入时,Xcode正常情况下会自动添加引用,但是偶尔也会不添加,注意检查下图中的引用路径,如果报错找不到库或者头文件,一般都是下面的引用没有添加。

3.4 添加系统依赖库


老版本升级到 1.6.2.0 及以上版本注意事项:
1. 不再需要 JavaScriptCore.framework 使用。
2. 不再需要 CoreBluetooth.framework 使用。
3. 添加 UserNotifications.framework 库并使用 Optional 方式引用,需要使用 XCode 8 及以上版本编译。
4. 2.3.1.0 版本需要添加 libresolv.tbd 库。

  • 在项目设置中添加以下系统库支持:
libc++.tbd
libz.tbd
libsqlite3.tbd
libresolv.tbd
Security.framework
MobileCoreServices.framework
SystemConfiguration.framework
CoreTelephony.framework
AVFoundation.framework
CoreLocation.framework
UserNotifications.framework (iOS 10 及以上需添加,使用 Optional 方式接入)
AdSupport.framework   (如果使用无IDFA版本SDK,则需删除该 AdSupport 库)
  • 删除 JavaScriptCore.framework 引用

3.5 开启推送