信鸽推送SDK2.4.0Swift1.2集成

开发环境:OS X Yosemite 10.10.3 + Xcode 6.4
开发语言:Swift 1.2

信鸽推送SDK2.4.0Swift1.2DemoGit地址

使用方法


  • XinGeSDK2_4_0文件拷贝到工程中

  • 拷贝XinGeAppDelegate.swift到工程中

  • 工程名-Bridging-Header.h桥接文件中,添加

#import "XGSetting.h"
#import "XGPush.h"
  • AppDelegate继承XinGeAppDelegate,并且两者有且只有一个var window: UIWindow?属性。继承的方法前需要添加override关键字,例如:

import UIKit

@UIApplicationMain
class AppDelegate: XinGeAppDelegate{
    
    var window: UIWindow?
    
    override func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
        
        // 在此处,可以设置UI等操作。
        
        return super.application(application, didFinishLaunchingWithOptions: launchOptions)
    }
}
  • 腾讯信鸽官网创建应用并提交证书。

  • XinGeAppDelegate.swift文件中填写ACCESS IDACCESS KEY

添加必要的框架:


  • CoreGraphics.framework

  • CoreTelephony.framework

  • SystemConfiguration.framework

  • libz.dylib

  • CFNetwork.framework

  • libsqlite3.dylib

错误及解决

  • Xcode输出信息:You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
    解决:Target-->点击Capabilities-->打开Background Modes-->勾选Remote notification,步骤及最终结果如下图
    图片描述

  • Xcode输出:didFailToRegisterForRemoteNotifications error:未找到应用程序的“aps-environment”的授权字符串
    原因:没有相应的证书
    解决1(传统方法):下载相应的证书-->双击后自动安装-->Build Settings-->Code Signing-->设置Code Signing IdentityProvisioning Profile
    解决2(确保在开发中心已经有对应的证书):点击屏幕左上角的Xcode-->Preferences...(快捷键:command+,)-->选择Apple IDs中你需要的ID-->点击View Details...-->点左下角的刷新按钮。如下面图片操作:
    图片描述
    图片描述

  • 创建通知-->测试预览,出现failed to load certificate, check your APNS certificate;创建通知-->确定推送,出现apns cert error!.
    原因:.pem证书生成时出现错误。信鸽官方解释
    情况一:生成.pem证书时,命令没有输入完全,缺少了 -nodes,完成的命令为:

    openssl pkcs12 -in Your_APNS_DEV.p12 -out Your_APNS_DEV.pem -nodes

    情况二:导出.p12证书时,选中的不是Apple Developmetn IOS Push Services:your.app.bundleidentifier,而是展开有开发者名字的子级。

  • 更多错误信息
    参考:信鸽常见问题与解答


CoreText
从OC到Swift,你还是一个人吗?
74 声望
7 粉丝
0 条评论
推荐阅读
苹果邮件
App 被拒收到的邮件 邮件一 {代码...}

laznrbfe阅读 2k

iOS 健康共享失败如何解决
您要开始与之共享的对象必须已经连同他们的 iCloud 账户邮箱一起保存在您的“通讯录”中(iCloud 账户邮箱即 iCloud 账户绑定的邮箱信息,不是强制要求 @iCloud.com 邮箱)。

岚哲阅读 5k

探究 iOS 内存问题
本文从 Tagged Pointer、objc 源码、dealloc 原理、AutoreleasePool 原理、野指针探究等技术点展开聊了聊 iOS 内存相关问题。

杭城小刘1阅读 1.4k

封面图
iOS IDA逆向之patch
这里介绍的是ida的patch.1.搜索svc #0x80,回到IDA View-A界面,才能正确搜索点击图中T字按钮,弹出搜索框点击列表中进入2.修改svc #0x80,在IDA View-A界面中选中svc那一行,点击工具栏Edit--&gt;Patch program--&gt...

宋冬野阅读 2k

社交场景下iOS消息流交互层实践
一款社交产品的诞生,离不开即时通讯(IM)场景。随着团队业务版图在社交领域的布局,诞生了多个社交场景APP,涉及的IM场景,包含私聊、群聊、聊天室等。

云音乐技术团队1阅读 415

封面图
SegmentFault 思否技术周刊 Vol.77 — 探究关于 iOS 的特性
本文从 Tagged Pointer、objc 源码、dealloc 原理、AutoreleasePool 原理、野指针探究等技术点展开聊了聊 iOS 内存相关问题。

Beverly阅读 1.3k

封面图
高能预警!第十七届 D2 第一波话题新鲜出炉 ~
经过三个月紧张又刺激的准备工作,我们本届 D2 的 5 位出品人和 8 位特邀嘉宾最终从 49 个内部报名的话题中挑选了 14 个话题作为今年第十七届 D2 的首份作品,给到大家。

阿里巴巴终端技术阅读 1.2k

封面图
74 声望
7 粉丝
宣传栏