diff options
l--------- | IOKit | 1 | ||||
-rw-r--r-- | gssc.mm | 5 | ||||
-rw-r--r-- | makefile | 22 | ||||
-rw-r--r-- | sbdidlaunch.mm | 6 | ||||
-rw-r--r-- | uicache.mm | 12 | ||||
-rw-r--r-- | uiduid.mm | 4 |
6 files changed, 33 insertions, 17 deletions
@@ -0,0 +1 @@ +/System/Library/Frameworks/IOKit.framework/Versions/A/Headers
\ No newline at end of file @@ -37,7 +37,6 @@ */ /* }}} */ -#import <GraphicsServices/GraphicsServices.h> #import <UIKit/UIKit.h> #include <stdio.h> #include <dlfcn.h> @@ -80,7 +79,7 @@ int main(int argc, char *argv[]) { &OnGSCapabilityChanged, CFSTR("GSCapabilitiesChanged"), NULL, - NULL + 0 ); for (;;) { @@ -93,6 +92,8 @@ int main(int argc, char *argv[]) { } else if ($GSSystemGetCapability != NULL) { capability = reinterpret_cast<const NSDictionary *>((*$GSSystemGetCapability)(reinterpret_cast<CFStringRef>(name))); } else { + capability = nil; + if (void *libMobileGestalt = dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_GLOBAL | RTLD_LAZY)) if (CFTypeRef (*$MGCopyAnswer)(CFStringRef) = reinterpret_cast<CFTypeRef (*)(CFStringRef)>(dlsym(libMobileGestalt, "MGCopyAnswer"))) { NSMutableDictionary *answers([NSMutableDictionary dictionary]); @@ -7,9 +7,13 @@ clean: .PHONY: all clean package +private := -F/System/Library/PrivateFrameworks + cfversion := -framework CoreFoundation -gssc := -framework CoreFoundation -sbdidlaunch := -framework CoreFoundation -framework SpringBoardServices +gssc := -lobjc -framework CoreFoundation +iomfsetgamma := -I. $(private) -framework IOKit -framework IOMobileFramebuffer +sbdidlaunch := $(private) -framework CoreFoundation -framework SpringBoardServices +sbreload := -framework CoreFoundation uicache := -framework Foundation -framework UIKit # XXX: UIKit -> MobileCoreServices uiduid := -framework Foundation -framework UIKit uiopen := -framework Foundation -framework UIKit @@ -20,23 +24,19 @@ uicache: csstore.cpp extrainst_: csstore.cpp %.dylib: %.mm - $${PKG_TARG}-g++ -Wall -Werror -dynamiclib -o $@ $^ $($@) -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -lobjc -framework CoreFoundation -framework Foundation + cycc -i2.0 -o$@ -- -dynamiclib -Werror $^ $($@) -lobjc ldid -S $@ %: %.mm - $${PKG_TARG}-g++ -Wall -Werror -o $@ $^ $($@) -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -lobjc + cycc -i2.0 -o$@ -- -Werror $^ $($@) ldid -S$(wildcard $@.xml) $@ %: %.c - $${PKG_TARG}-gcc -Wall -Werror -o $@ $< -framework CoreFoundation - ldid -S$(wildcard $@.xml) $@ - -iomfsetgamma: iomfsetgamma.c - $${PKG_TARG}-gcc -Wall -Werror -o $@ $< -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -framework IOKit -framework IOMobileFramebuffer + cycc -i2.0 -o$@ -- -Werror -x c $^ $($@) ldid -S$(wildcard $@.xml) $@ package: all extrainst_ - rm -rf _ + sudo rm -rf _ mkdir -p _/usr/lib cp -a $(filter %.dylib,$(uikittools)) _/usr/lib mkdir -p _/usr/bin @@ -46,5 +46,7 @@ package: all extrainst_ cp -a extrainst_ _/DEBIAN/ mkdir -p debs ln -sf debs/uikittools_$$(./version.sh)_iphoneos-arm.deb uikittools.deb + sudo chown -R 0 _ + sudo chgrp -R 0 _ dpkg-deb -b _ uikittools.deb readlink uikittools.deb diff --git a/sbdidlaunch.mm b/sbdidlaunch.mm index 810ca14..8a6b38b 100644 --- a/sbdidlaunch.mm +++ b/sbdidlaunch.mm @@ -58,7 +58,7 @@ int main() { &OnDidLaunch, CFSTR("SBSpringBoardDidLaunchNotification"), NULL, - NULL + 0 ); CFNotificationCenterAddObserver( @@ -67,7 +67,7 @@ int main() { &OnDidLaunch, CFSTR("com.apple.springboard.finishedstartup"), NULL, - NULL + 0 ); CFNotificationCenterAddObserver( @@ -76,7 +76,7 @@ int main() { &OnDidLaunch, CFSTR("com.apple.springboard.bootedcleanly"), NULL, - NULL + 0 ); if (SBSSpringBoardServerPort() == NULL) @@ -46,8 +46,6 @@ #include <objc/runtime.h> -#include <MobileCoreServices/LSApplicationWorkspace.h> - #include "csstore.hpp" @interface NSMutableArray (Cydia) @@ -83,6 +81,16 @@ @end +@interface LSApplicationWorkspace : NSObject ++ (id) defaultWorkspace; +- (BOOL) registerApplication:(id)application; +- (BOOL) unregisterApplication:(id)application; +- (BOOL) invalidateIconCache:(id)bundle; +- (BOOL) registerApplicationDictionary:(id)application; +- (BOOL) installApplication:(id)application withOptions:(id)options; +- (BOOL) _LSPrivateRebuildApplicationDatabasesForSystemApps:(BOOL)system internal:(BOOL)internal user:(BOOL)user; +@end + int main(int argc, const char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; @@ -43,6 +43,10 @@ #include <dlfcn.h> +@interface UIDevice (Apple) +- (NSString *) uniqueIdentifier; +@end + int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; |