ios - PreferenceBundle Not Loading Specifiers in Jailbreak (Theos) App -
i have been fighting bizarre afternoon long no results. before, able create tweak, using theos' tweak template, , add preferencebundle creating subproject using template in directory. i'd run tweak, open page in settings.app, , loud specifier list (which includes "awesome switch 1" when don't modify it).
in other words, i'd screen creating project doing little no modifications @ all:
now, today created new project same way (create tweak first, preferenceloader project second) , tried result no avail.
i have been fighting on 6 hours. have tried in 2 jailbroken devices. have uninstalled , re-installed theos. have reset computer, have rebooted both devices, , no matter do, screen doesn't include it's preferences. contains background, no specifiers @ all.
the plist looks this. need not plist tool doesn't return syntax error when running -lint:
<?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/propertylist-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>cell</key> <string>psgroupcell</string> <key>label</key> <string>five first page</string> </dict> <dict> <key>cell</key> <string>psswitchcell</string> <key>default</key> <true/> <key>defaults</key> <string>s</string> <key>key</key> <string>awesomeswitch1</string> <key>label</key> <string>awesome switch 1</string> </dict> </array> <key>title</key> <string>somefive</string> </dict> </plist>
(five.plist. preferenceloader subproject called "five").
and preferences .mm looks this:
@interface pslistcontroller -(id)loadspecifiersfromplistname:(id)name target:(id)tar; @end @interface fivelistcontroller: pslistcontroller { id _specifiers; } -(id)specifiers; @end @implementation fivelistcontroller - (id)specifiers { if(_specifiers == nil) { _specifiers = [[self loadspecifiersfromplistname:@"five" target:self] retain]; } return _specifiers; } @end // vim:ft=objc
now know file exists , being read because checked if exists manually in /library/preferencebundles , because can change title key in above plist , reflect in preference's page navbar title. i'm not sure causing read title not rest of specifiers.
i'm dumbfounded this. have never seen such weird behavior preferenceloader projects, , looks started randomly, haven't changed theos setting or anything.
any appreciated.
i figured out.
the problem preferences .mm file. compare 1 put in question one:
@interface pslistcontroller { id _specifiers; } -(id)specifiers; -(id)loadspecifiersfromplistname:(id)name target:(id)target; @end @interface notifiersettingslistcontroller: pslistcontroller { } @end @implementation notifiersettingslistcontroller - (id)specifiers { if(_specifiers == nil) { _specifiers = [[self loadspecifiersfromplistname:@"notifiersettings" target:self] retain]; } return _specifiers; } @end // vim:ft=objc
since don't have headers have declare ones use. did wrong there. i'm supposed put _specifiers , methods of pslistcontroller subclass in pslistcontroller itself, not in subclass.
Comments
Post a Comment