Как обрабатывать события сокет-соединения, когда приложение находится в фоновом режиме?
Я хочу использовать следующую функцию, даже если приложение находится в фоновом режиме?
- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent
{
case NSStreamEventHasBytesAvailable:
{ NSLog(@"Event:NSStreamEventHasBytesAvailable");
if (theStream == _inputStream) {
NSLog(@"NSStreamEventHasBytesAvailable: on Input Stream");
uint8_t buffer[1024];
int len;
while ([_inputStream hasBytesAvailable]) {
len = [_inputStream read:buffer maxLength:sizeof(buffer)];
if (len > 0) {
NSString *output = [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding];
if (nil != output) {
NSLog(@"server said: %@", output);
// to get local notification I am calling below method.
[self scheduleNotification];
}
}
}
}
break;
}
Приведенный выше код работает в foreGround. Я внес все изменения, указанные в яблочном документе, для запуска приложения в фоновом режиме - voip. Что я должен написать в методе AppDelegate?
- (void)applicationDidEnterBackground:(UIApplication *)application
{
}
Как получить поток: handleEvent вызывается в фоновом режиме?