開發環境: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 ID
和ACCESS KEY
。ruby
CoreGraphics.framework
app
CoreTelephony.framework
框架
SystemConfiguration.framework
ide
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 Identity
和Provisioning 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
,而是展開有開發者名字
的子級。
更多錯誤信息
參考:信鴿常見問題與解答