获取在Xcode插件中打开的当前项目的路径

时间:2014-01-10 21:26:16

标签: xcode plugins path project

我正在尝试创建一个Xcode插件,该插件应该读取在Xcode中打开的项目中包含的所有文件,并进一步处理文件名(提取图像名称)。 问题是如何在Xcode中打开项目主包的目录/路径。

谢谢。

2 个答案:

答案 0 :(得分:11)

这样你就可以从插件中找到当前的项目路径

NSArray *workspaceWindowControllers = [NSClassFromString(@"IDEWorkspaceWindowController") valueForKey:@"workspaceWindowControllers"];

id workSpace;

for (id controller in workspaceWindowControllers) {
    if ([[controller valueForKey:@"window"] isEqual:[NSApp keyWindow]]) {
        workSpace = [controller valueForKey:@"_workspace"];
    }
}

NSString *workspacePath = [[workSpace valueForKey:@"representingFilePath"] valueForKey:@"_pathString"];

答案 1 :(得分:-1)

请参阅Apple Sandboxing指南:https://developer.apple.com/library/mac/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxDesignGuide.pdf

如果您想获得bundle目录:

NSString* bundle = [[NSBundle mainBundle] bundlePath];