Как разместить уведомление в логотипах твика

Я использовал iOSOpenDev для создания твика логотипов, чтобы подключить acknowledgeIncomingMessageWithId: из CTMessageCenter и я хочу отправить уведомление по NSNotificationCenter в другое приложение, но это не работает. Я думаю, что NSNotificationCenter может работать между разными приложениями. Я пытался проверить NSNotificationCenter в первую очередь. Вот что я сделал ниже:

%hook CTMessageCenter

-(void)acknowledgeIncomingMessageWithId:(unsigned int)anId {
        [[NSNotificationCenter defaultCenter] addObserver:self 
                                                 selector:@selector(doingSMS) 
                                                     name:@"SMSComing" 
                                                   object:nil];
        [[NSNotificationCenter defaultCenter] postNotificationName:@"SMSComing" object:nil];
    }

    %orig;
}

- (void)doingSMS{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"短信消息传送成功" 
                                                    message:@"来短信啦"
                                                   delegate:nil 
                                          cancelButtonTitle:@"Good" 
                                          otherButtonTitles:nil];
    [alert show];
    [alert release];
}

%end

Но это не работает. Кроме того, UIAlertView не появляется. Кто может сказать мне, почему?

2 ответа

Чтобы уведомления работали между приложениями:

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), 
                                NULL, 
                                doingSMS,
                                CFSTR("com.your.company.SMSComing"), 
                                NULL, 
                                CFNotificationSuspensionBehaviorCoalesce);

а потом

CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), 
                                     CFSTR("com.your.company.SMSComing"), 
                                     NULL, 
                                     NULL, 
                                     TRUE);

Обратите внимание, что имя уведомления, как "SMSComing" (без префикса) подвержен проблемам.

У меня были проблемы с UIAlertViews, не появляющимися в твике, над которым я работал с iOSOpenDev.
Я понял, что должен был установить делегат UIAlertView на self, По какой-то причине я не понимаю, когда у меня был установлен делегат nil UIAlertView не появится.

Другие вопросы по тегам