В настоящее время я делаю настройку для личного использования, но я действительно не очень разбираюсь в программировании. Я знаю, что это не очень умная идея вносить изменения, если вы не знаете, как правильно программировать, но я делаю только одну небольшую настройку, поэтому я не хочу / не имею времени тратить месяцы на изучение Objective-C.
Теперь проблема: у меня есть plist, расположенный здесь: "/var/mobile/Applications/F5E2CB37-FC1B-46BC-8264-C7E2F17CD0EC/Library/Preferences/nl.telegraaf.ipad.plist". Этот .plist содержит множество опций и Мне нужно только изменить один. Но значение, которое я хочу изменить, находится в словаре, поэтому у вас есть что-то вроде этого.
.plist ----> ячейки ---> словарь с именем OpenUDID ----> значение, которое я не хочу менять. Словарь в plist состоит из 4 элементов, и я не хочу менять только первый. Поэтому я создал твик и добавил в него следующее:
%hook SBLockScreenViewController //only for testing
NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithContentsOfFile:
[NSString stringWithFormat:@"/var/mobile/Applications/F5E2CB37-FC1B- 46BC-8264-C7E2F17CD0EC/Library/Preferences/nl.telegraaf.ipad.plist"]]; //accessing the .plist
-(void)displayDidDisappear
{
[settings setValue:@"test" forKey:@"PaywallAuthMethodStringKey"]; //trying to change a value from the .plist doesn't work
//NOTE this isn't a value in the dictionary in the .plist
%orig;
}
%end
Проблемы, которые у меня есть, заключаются в том, что я не знаю, как редактировать значение в .plist в коде (я искал об этом в Google, но ни одно из решений не сработало). Также я не знаю, как попасть в словарь и чем иметь возможность изменять значения там (я не мог найти никакой информации об этом в Интернете)
s/than/then
, есть очень важное отличие. Чтобы изменить файл plist, просто измените базовый словарь (или создайте новый, модифицированный, если словарь неизменяем) и запишите его обратно в файл. - person The Paramagnetic Croissant   schedule 08.10.2014