Мой 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 /) из этого демона?