Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Log in or create an account to edit The Apple Wiki.
CepheiPrefs
Developer(s)HASHBANG
Package identifierws.hbang.common
Latest version1.16
TypeiOS 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>

See also