Cephei

From iPhone Development Wiki
Revision as of 03:22, 21 July 2022 by Cynder (talk | contribs) (→‎How to use this framework)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Cephei
Cydia Package
Developer HASHBANG
Package ID ws.hbang.common
Latest Version 1.16

Cephei is a framework that provides various 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 includes the headers so you don’t have to worry about installing them!

Include directive

#import <Cephei/Cephei.h>

Makefile

Add to your Makefile:

Cephei to the XXX_EXTRA_FRAMEWORKS variable.

Packaging

Add to your package’s control file:

ws.hbang.common to the Depends field.

Getting a tweak’s preferences

The HBPreferences class allows for easy access to preferences. Note: Cephei does not allow you to access most Apple preferences (preferences that have their identifier starting with com.apple).

%ctor {
    // The identifier must be the preference identifier of the bundle wanted
    HBPreferences *preferences = [[HBPreferences alloc] initWithIdentifier:@"com.example.ExamaplePreference"];
    // Getting the value of a cell with the key of enabled
    BOOL enabled;
    // Returns the value set for the key, or default set in preferences if no value has been set. If no default, returns nil
    enabled = [preferences boolForKey:@"enabled"];
    // The register methods automatically update the variable that gets passed to them. If no preference has been set, the variable is set to the default passed
    [preferences registerBool:enabled default:YES forKey:@"enabled"];
}

In order to have the -registerObject:default:forKey methods to automatically update, a notification, set to the preference identifier with /ReloadPrefs appended, needs be posted.

<dict>
<!-- Interesting preference cell -->
    <key>PostNotification</key>
    <string>com.example.ExamaplePreference/ReloadPrefs</string>
</dict>

Converting hex color to UIColor

Cephei provides a method to easily convert CSS style hex color to UIColor.

UIColor *color = [UIColor hb_colorWithPropertyListValue:@"#ffa1aa"];

See also

External links