From 73b6bd3c3bfaa9fafbb3ab511cdd89f5ccddee46 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Fri, 31 Oct 2014 15:23:25 +0000 Subject: Merge iOS 8 compatible uicache code from limneos. --- uicache.mm | 12 +++++++++--- uicache.xml | 12 ++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) 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 + -- cgit v1.2.3