I want to get system information in mac using objective C. I am searching a lot but did not got single line of code for my use.They provided solutions via javascript but i want them in objective C. Provide me some help to go ahead.

有帮助吗?

解决方案 3

This is tested and works well

        NSWorkspace *nsSharedWorkspace = [NSWorkspace sharedWorkspace];
         NSString *nsAppPath = [nsSharedWorkspace fullPathForApplication:appName];
         NSBundle *nsAppBundle = [NSBundle bundleWithPath: nsAppPath];
         NSDictionary *nsAppInfo = [nsAppBundle infoDictionary];

//Now you can print all dictionary to view all its contents and pick which you want
         NSLog(@"%@",nsAppInfo);

//or you can get directly using following methods
         NSLog(@"%@",[nsAppInfo objectForKey:@"CFBundleShortVersionString"]);
         NSLog(@"%@",[nsAppInfo objectForKey:@"CFBundleVersion"]);

Dont forget to add AppKit framework

其他提示

You can use launch services to get the path to the default browser as below

LSGetApplicationForURL((CFURLRef)[NSURL URLWithString: @"http:"],
                                kLSRolesAll, NULL, (CFURLRef *)&appURL);

NSString *infoPlistPath = [[appURL path] stringByAppendingPathComponent:@"Contents/info.plist"];

Now read the CFBundleShortVersionString from the info.plist.

Here you go :

NSString *userName=NSUserName();
NSLog(@"UserName: %@",userName);

NSArray *ipAddress=[[NSHost currentHost] addresses];
NSLog(@"IP Address=%@",ipAddress[0]);

Updating my answer

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top