2013-10-11 22 views
7

iPhone'um, ayarlarda Açık olduğunda bile Sessiz Moddayken titremesini sağlamak istiyorum. Bir uygulamadan programlı olarak yapmak istiyorum. Bu benim için, bu yüzden özel bir API kullanabilirim. Ayarlar'da Sesleri yöneten bir API var mı? Herhangi bir çözüm biliyor musunuz? iOS, sessiz programlı olarak titremeyi kapatın [Private API]

aşağıdaki kod hile yapabilirsiniz düşünmek,

Flo

cevap

1

teşekkür ederiz. Gerçi bir yerden onu tetiklemeniz gerekiyor (butona basarak veya bir uygulama içinden kovulmasını isteyip istemediğinizi anlamıyorsunuz).

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"); 

kendim denedim, ama sen Smartvibrate çimdik içinde aradıklarını gibi bir şey bulamadı. Bu, ayarlar parametresini değiştirecek, böylece uygulamanız bittiğinde onu tekrar açmalısınız.

Bu yardımcı olur umarım!

0

ios 8 güncelleştirmesi:

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

Xcode 6.2 (Objective-C için Bridging Alınlıklı Swift proje) bu çalışırken bir "C99 geçersiz 'notify_post' fonksiyonunun Örtülü beyanı" Edit olsun: aynı zamanda bir Obj-C projesinde . – vrwim

+0

Bu hala sizin için çalışıyor mu? Bu işi yapamıyorum – Jan

İlgili konular