以编程方式更改iPhone消息应用程序的设置/首选项

时间:2013-06-24 10:22:51

标签: iphone jailbreak iphone-privateapi cydia cydia-substrate

我想在越狱应用中以编程方式更改iPhone的消息通知偏好设置。可以使用任何私有API,并且该应用程序不适用于AppStore,因此请不要说“应用程序不会被Apple批准”

如何关闭收到消息的通知?

1 个答案:

答案 0 :(得分:0)

添加到您的应用权利com.apple.bulletinboard.settings密钥,其中bool值等于YES。 链接到私人BulletinBoard.framework。它包含所有必需的类。

我们将使用BBSettingsGateway

的实例
BBSettingsGateway* settings = [[BBSettingsGateway alloc] init];

获取所有通知偏好

[settings getSectionInfoWithCompletion:^(NSArray* sections){
}];

sections将包含BBSectionInfo个对象的数组。他们的sectionID属性包含目标应用的包ID。搜索com.apple.MobileSMS以查找消息应用偏好。

BBSectionInfo包含所有通知首选项。例如,您可以禁用所有此类通知

messagesAppSectionInfo.showsInNotificationCenter = NO;

应用更改

[settings setSectionInfo:messagesAppSectionInfo forSectionID:@"com.apple.MobileSMS"];

完整示例,禁用消息app的所有通知:

BBSettingsGateway* settings = [[BBSettingsGateway alloc] init];
[settings getSectionInfoWithCompletion:^(NSArray* sections){
    for (BBSectionInfo* info in sections)
    {
        if ([info.sectionID isEqualToString:@"com.apple.MobileSMS"])
        {
            info.showsInNotificationCenter = NO;
            [settings setSectionInfo:info forSectionID:@"com.apple.MobileSMS"];
            break;
        }
    }
}];