Developer(s) | HASHBANG |
---|---|
Package identifier | ws.hbang.common |
Latest version | 1.16 |
Type | iOS jailbreak package |
CepheiPrefs is a framework that provides preference related convenience methods.
How to use this framework
Headers are available from Cephei’s Github project and the framework can be found at /Library/Frameworks/Cephei.framework
on a device where Cephei is installed. Theos and Dragon both include the headers so you don’t have to worry about installing them!
Include directive
#import <CepheiPrefs/CepheiPrefs.h>
Makefile
Add to your preference bundle Makefile: CepheiPrefs
to the XXX_EXTRA_FRAMEWORKS
variable.
Dragon
Add to your DragonMake file: CepheiPrefs
to the frameworks
in the preferences module.
Packaging
Add to your package’s control file: ws.hbang.common
to the Depends
field.
Getting preferences to work with Cephei
In order to use CepheiPrefs features you need to subclass HBRootListController
for the root controller or HBListController
@interface XXXRootPreference : HBRootListController
@end
@implementation XXXRootPreference
// Any normal preference actions here
@end
Changing a pane’s appearance
The HBAppearanceSettings class provides methods to change the appearance of a preference pane from colors to changing status bar style
@implementation XXXRootPreference
- (instancetype)init {
self = [super init];
if (self) {
HBAppearanceSettings *appearanceSettings = [[HBAppearanceSettings alloc] init];
appearanceSettings.tintColor = [UIColor blackColor];
// Applying
self.hb_appearanceSettings = appearanceSettings;
}
return self;
}
@end
Using custom preference cells
CepheiPrefs also provides custom preference cells, to use them, put them in a preference plist that subclasses HBRootListController
or HBListController
Image cell
Display an image in a cell.
<dict> <key>cellClass</key> <string>HBImageTableCell</string> <key>height</key> <integer>50</integer> <key>icon</key> <string>icon.png</string> </dict>
HBLinkTableCell
Displays a button when tapped, goes to the URL. Can be used with or without any cell type but setting to PSButtonCell
applies a tint to it.
<dict> <key>cellClass</key> <string>HBLinkTableCell</string> <key>label</key> <string>iPhone Dev Wiki</string> <key>url</key> <string>https://iphonedev.wiki</string> </dict>
HBPackageTableCell
Displays a package cell with icon and name and when tapped, opens package in Cydia.
<dict> <key>cellClass</key> <string>HBPackageTableCell</string> <key>label</key> <string>Chirp</string> <key>packageIdentifier</key> <string>some.package.id</string> <!-- If package is not in a default repo, include this --> <key>packageRepository</key> <string>https://some.repo.com</string> </dict>
HBTwitterCell
Displays a cell with name and Twitter avatar.
<dict> <key>cellClass</key> <string>HBTwitterCell</string> <key>label</key> <string>exampleName</string> <key>user</key> <string>exampleUser</string> </dict>