Hallo.
Ich will die LSUIElement property direkt von der App aus in die Info.plist schreiben, allerdings scheint die Datei solange das Programm lauft keinen write access zu haben.
Führt irgend ein weg an einem script oder helper programm herum um das direkt zu bewerkstelligen?
Oder mach ich einfach nur was falsch.
Lg
Alles anzeigen
Ich will die LSUIElement property direkt von der App aus in die Info.plist schreiben, allerdings scheint die Datei solange das Programm lauft keinen write access zu haben.
Führt irgend ein weg an einem script oder helper programm herum um das direkt zu bewerkstelligen?
Oder mach ich einfach nur was falsch.
Lg
Quellcode
- - (void)applicationWillTerminate:(NSNotification *)aNotification
- {
- NSMutableDictionary *plist = [[[NSBundle mainBundle] infoDictionary] mutableCopy];
- NSString *path = [NSString stringWithFormat:@"%@/Info.plist", [[NSBundle mainBundle] bundlePath]];
- if([[NSUserDefaults standardUserDefaults] boolForKey:FMShowInDock])
- [plist setValue:[NSNumber numberWithBool:NO] forKey:@"LSUIElement"];
- else
- [plist setValue:[NSNumber numberWithBool:YES] forKey:@"LSUIElement"];
- NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plist format:NSPropertyListXMLFormat_v1_0 errorDescription:nil];
- if(![plistData writeToFile:path atomically:YES]);
- NSLog(@"Error writing plist");
- [plist release];
- [NSTask launchedTaskWithLaunchPath:@"/usr/bin/touch" arguments:[NSArray arrayWithObject:[[NSBundle mainBundle] bundlePath]]];
- }
enum { NSNoInterfaceStyle = 0, // Default value for window's interfaceStyle