在看到切换后,我写了一个小的拨动开关来启用和禁用振动,这只会在静音模式下停用振动。 为此,我在plist文件中更改bools,这非常有效。我甚至可以在Settings.app中看到结果。但我的问题是,它没有任何反应就会振动。我怎么能告诉iPhone,plist文件中的某些内容发生了变化,但没有响应?
请帮帮我。
ps:当你想看我的代码时,我在这里复制并粘贴了重要的部分:
void setState(BOOL enable) // required; called when user presses toggle button
{
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.apple.springboard.plist"];
if (enable) // toggle is disabled, so enable it
{
[dict setObject:[NSNumber numberWithBool:YES] forKey:@"ring-vibrate"];
[dict setObject:[NSNumber numberWithBool:YES] forKey:@"silent-vibrate"];
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
else // toggle is enabled, so disable it
{
[dict setObject:[NSNumber numberWithBool:NO] forKey:@"ring-vibrate"];
[dict setObject:[NSNumber numberWithBool:NO] forKey:@"silent-vibrate"];
}
[dict writeToFile:@"/var/mobile/Library/Preferences/com.apple.springboard.plist" atomically:YES];
isToggleEnabled = enable; // for getStateFast() use
}
答案 0 :(得分:1)
确定。我遇到了问题。我忘了推出像
这样的通知notify_post("com.apple.springboard.ring-vibrate.changed");
可以使用终端中的“notificationWatcher”命令检查此通知。