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

開發環境:OS X Yosemite 10.10.3 + Xcode 6.4
開發語言:Swift 1.2

信鴿推送SDK2.4.0Swift1.2DemoGit地址php

使用方法


  • XinGeSDK2_4_0文件拷貝到工程中node

  • 拷貝XinGeAppDelegate.swift到工程中git

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

#import "XGSetting.h"
#import "XGPush.h"
  • AppDelegate繼承XinGeAppDelegate,而且二者有且只有一個var window: UIWindow?屬性。繼承的方法前須要添加override關鍵字,例如:sql

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)
    }
}
  • 騰訊信鴿官網建立應用並提交證書。swift

  • XinGeAppDelegate.swift文件中填寫ACCESS IDACCESS KEYruby

添加必要的框架:


  • CoreGraphics.frameworkapp

  • CoreTelephony.framework框架

  • SystemConfiguration.frameworkide

  • 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,而是展開有開發者名字的子級。

  • 更多錯誤信息
    參考:信鴿常見問題與解答

相關文章
相關標籤/搜索