pushkit是蘋果在iOS8以后引入的一種新的push類型。使用pushkit收到通知時(shí)不會(huì)彈出警報(bào)。
首先要申請(qǐng)證書:
屏幕快照 2017-04-24 下午4.59.45.png
在工程設(shè)置里面的Background Mode里面添加voip、backgroundfetch、remotenotifications的支持。
屏幕快照 2017-04-24 下午5.20.45.png
在工程里引入pushkit框架:
#import <PushKit/PushKit.h>
PKPushRegistry *pushRegistry = [[PKPushRegistry alloc] initWithQueue:nil];
pushRegistry.delegate = self;
pushRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP];
- (void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials:(PKPushCredentials *)credentials forType:(PKPushType)type{
//獲取token,這個(gè)token需要上傳到服務(wù)器
NSData * data = credentials.token;
NSString *str = [NSString stringWithFormat:@"%@",credentials.token];
}
//收到pushkit的通知時(shí)會(huì)調(diào)用這個(gè)方法,但是不會(huì)有UI上的顯示
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(PKPushType)type{
}
有一個(gè)測試推送的工具可以模擬服務(wù)器發(fā)送通知:鏈接