检查应用程序是否安装在/ Application目录中

时间:2012-11-28 11:33:00

标签: objective-c macos cocoa

有没有办法检查应用程序是否安装在/ Application中? 我在登录workarround的启动仅在应用程序安装在/ Application目录中时有效。

3 个答案:

答案 0 :(得分:3)

您应该能够使用以下命令获取可执行文件的路径

[[NSBundle mainBundle] executablePath]

答案 1 :(得分:0)

以下代码应返回可执行文件的完整路径:

[[[NSProcessInfo processInfo] arguments] objectAtIndex:0]

然后检查它是否属于/ Applications

答案 2 :(得分:0)

检查任何应用..

CFURLRef appURL = NULL;
OSStatus result = LSFindApplicationForInfo (kLSUnknownCreator,
                                            CFSTR("com.yourdomain.theapp"), //App bundle id.
                                            NULL,                      
                                            NULL,                      
                                            &appURL);
switch(result)
{
    case noErr:
        NSLog(@"Found my app@: %@",appURL);
        break;
    case kLSApplicationNotFoundErr:
        NSLog(@"App not found");
        break;
    default:
        NSLog(@"an error occurred: %d",result);
        break;          
}

if(appURL)
    CFRelease(appURL);