我想在越狱应用中以编程方式更改iPhone的消息通知偏好设置。可以使用任何私有API,并且该应用程序不适用于AppStore,因此请不要说“应用程序不会被Apple批准”。
如何关闭收到消息的通知?
答案 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;
}
}
}];