문제

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