Демон с launchd не получает состояния вызова - PullRequest
2 голосов
/ 30 марта 2012

Мой iOS iOS Daemon не получает обновлений состояния вызова, хотя определен встроенный метод обработчика. Мне кажется, что программа не входит в цикл обработки событий. Кто-нибудь из вас имеет опыт работы с демонами на iOS, и если да, можете ли вы мне помочь? Вот что я получил (скомпилировав его с соответствующим компилятором, связав его с необходимыми библиотеками и фреймворками):

@interface CLAppDelegate : NSObject<UIApplicationDelegate>{
}
@end

@implementation CLAppDelegate

- (id) init
{
    self = [super init];
    if (self != nil)
    {
        NSLog(@"AppDelegate created!");
        return self;
    }
    NSLog(@"Somehow i lost my pants.");
    return nil;
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSLog(@"Application launched.");
    CTCallCenter* callCenter = [[CTCallCenter alloc]init];
    callCenter.callEventHandler = ^(CTCall* inCTCall) {
        dispatch_async(dispatch_get_main_queue(), ^{
        NSLog(@"CallState: %@", [inCTCall callState]);
    });
};
return YES;
}
@end

int main(int argc, char* argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"Hello iPhone! (with app delegate)");
    NSString* _appdelegateclassname = NSStringFromClass([CLAppDelegate class]);
    NSLog(@"AppDelegate class name: %@", _appdelegateclassname);
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://www.smr.name"]];
    int retVal = UIApplicationMain(argc, argv, nil, _appdelegateclassname);
    [pool release];
    return retVal;
}

Он компилирует, связывает и даже запускает (от OpenSSH до iPhone) - но журнал CallState никогда не отображается. О, а также есть ли возможность запустить другое приложение (в папке / User / Applications /) из этого демона?

...