Ios 如何使用NSStream和APN证书发送推送通知 我知道有一些工具可以用来发送推送通知,这些通知是用PHP或C++或其他东西来实现的。我正在尝试使用NSStream开发自己的应用程序。我尝试了以下代码 CFReadStreamRef readStream; CFWriteStreamRef writeStream; CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)[website host], 80, &readStream, &writeStream); NSInputStream *inputStream = (__bridge_transfer NSInputStream *)readStream; NSOutputStream *outputStream = (__bridge_transfer NSOutputStream *)writeStream; [inputStream setDelegate:self]; [outputStream setDelegate:self]; [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [inputStream open]; [outputStream open];
委托方法:Ios 如何使用NSStream和APN证书发送推送通知 我知道有一些工具可以用来发送推送通知,这些通知是用PHP或C++或其他东西来实现的。我正在尝试使用NSStream开发自己的应用程序。我尝试了以下代码 CFReadStreamRef readStream; CFWriteStreamRef writeStream; CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)[website host], 80, &readStream, &writeStream); NSInputStream *inputStream = (__bridge_transfer NSInputStream *)readStream; NSOutputStream *outputStream = (__bridge_transfer NSOutputStream *)writeStream; [inputStream setDelegate:self]; [outputStream setDelegate:self]; [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [inputStream open]; [outputStream open];,ios,macos,apple-push-notifications,nsstream,Ios,Macos,Apple Push Notifications,Nsstream,委托方法: - (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode { NSLog(@"stream:handleEvent: is invoked..."); switch(eventCode) { case NSStreamEventOpenCompleted: // it is getting here break; case NSStreamEventH
- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode {
NSLog(@"stream:handleEvent: is invoked...");
switch(eventCode) {
case NSStreamEventOpenCompleted:
// it is getting here
break;
case NSStreamEventHasSpaceAvailable:
{
if (stream == oStream) {
NSString * str = [NSString stringWithFormat:
@"{"aps":{"alert":"Hello from APN server.","badge":"1"}}"];
// how do i add device token
const uint8_t * payload =
(const uint8_t *)[str UTF8String];
[oStream write:payload maxLength:strlen(payload)];
[oStream close];
}
break;
}
}
}
现在的问题是:
如何使用推送证书打开流
如何使用设备令牌生成有效负载