From: Jay Freeman (saurik) Date: Fri, 31 Oct 2014 15:23:25 +0000 (+0000) Subject: Merge iOS 8 compatible uicache code from limneos. X-Git-Tag: v1.1.9~2 X-Git-Url: https://git.saurik.com/uikittools.git/commitdiff_plain/73b6bd3c3bfaa9fafbb3ab511cdd89f5ccddee46?ds=inline Merge iOS 8 compatible uicache code from limneos. --- diff --git a/uicache.mm b/uicache.mm index cbf3b8e..2eafcdd 100644 --- a/uicache.mm +++ b/uicache.mm @@ -86,6 +86,15 @@ int main(int argc, const char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + Class $LSApplicationWorkspace(objc_getClass("LSApplicationWorkspace")); + LSApplicationWorkspace *workspace($LSApplicationWorkspace == nil ? nil : [$LSApplicationWorkspace defaultWorkspace]); + + if ([workspace respondsToSelector:@selector(_LSPrivateRebuildApplicationDatabasesForSystemApps:internal:user:)]) { + if (![workspace _LSPrivateRebuildApplicationDatabasesForSystemApps:YES internal:YES user:NO]) + fprintf(stderr, "failed to rebuild application databases"); + return 0; + } + bool respring(false); NSString *home(NSHomeDirectory()); @@ -100,9 +109,6 @@ int main(int argc, const char *argv[]) { system("killall lsd"); - Class $LSApplicationWorkspace(objc_getClass("LSApplicationWorkspace")); - LSApplicationWorkspace *workspace($LSApplicationWorkspace == nil ? nil : [$LSApplicationWorkspace defaultWorkspace]); - if ([workspace respondsToSelector:@selector(invalidateIconCache:)]) while (![workspace invalidateIconCache:nil]) sleep(1); diff --git a/uicache.xml b/uicache.xml index c91640f..9a34f2b 100644 --- a/uicache.xml +++ b/uicache.xml @@ -5,5 +5,17 @@ InstallForLaunchServices + + com.apple.lsapplicationworkspace.rebuildappdatabases + + + com.apple.private.MobileContainerManager.allowed + + + com.apple.private.kernel.override-cpumon + + + com.apple.vpn.installer_events +