2013-10-11 17 views

risposta

1

Credo che il seguente codice può fare il trucco. Devi però attivarlo da qualche parte (non capire se vuoi che venga attivato con il pulsante o all'interno di un'app).

NSString *sbPath = @"/var/mobile/Library/Preferences/com.apple.springboard.plist"; 
NSMutableDictionary *sbDict = [[NSMutableDictionary alloc] initWithContentsOfFile:sbPath]; 
[sbDict setValue:[NSNumber numberWithBool:NO] forKey:@"silent-vibrate"]; 
[sbDict writeToFile:filePath atomically: YES]; 
notify_post("com.apple.SpringBoard/Prefs"); 

non ho provato io stesso, ma ha trovato qualcosa di simile a ciò che si sta cercando nel Smartvibrate Tweak. Questo cambierà il parametro delle impostazioni, quindi dovresti cambiarlo su on al termine dell'applicazione.

Spero che questo aiuti!

0

aggiornamento per iOS 8:

NSMutableDictionary *dict; BOOL newState = NO; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
dict = [[defaults persistentDomainForName:@"com.apple.springboard"] mutableCopy] ?:   [[NSMutableDictionary alloc] init]; 
NSNumber *value = [NSNumber numberWithBool:newState]; 
[dict setValue:value forKey:@"ring-vibrate"]; 
[dict setValue:value forKey:@"silent-vibrate"]; 
[defaults setPersistentDomain:dict forName:@"com.apple.springboard"]; 
notify_post("com.apple.springboard.ring-vibrate.changed"); 
notify_post("com.apple.springboard.silent-vibrate.changed"); 
+1

ottengo una "dichiarazione implicita di funzione 'notify_post' non è valido in C99" quando si tenta questo in Xcode 6.2 (progetto Swift con Bridging Header per Objective-C) Edit: anche in un-Obj C progetto . – vrwim

+0

Funziona ancora per te? Non riesco a farlo funzionare – Jan