2014-01-10 7 views
7

Я пытаюсь создать плагин Xcode, который должен прочитать все файлы, содержащиеся в проекте, открытом в Xcode, и продолжить работу с именами файлов (Извлечь имена изображений). Вопрос в том, как получить каталог/путь основного пакета проекта, открытого в Xcode.Получить путь к текущему проекту, открытому в плагине Xcode

спасибо.

+0

I я тоже такой же проблема .. вы нашли это ?? – SachinVsSachin

+0

@Sachin No. Но проверьте это http://www.blackdogfoundry.com/blog/common-xcode4-plugin-techniques/ –

ответ

-1

Смотрите AppleSandboxing Guide: https://developer.apple.com/library/mac/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxDesignGuide.pdf

Если вы хотите получить ваш bundle каталог:

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

Извините, это не то, что я имею в виду. Когда вы работаете над плагином. Код, который вы написали, вернет путь пакета Xcode. это потому, что вы работаете над самим Xcode (проверьте это [ссылка] (http://www.blackdogfoundry.com/blog/creating-an-xcode4-plugin/)). Поэтому я пытаюсь понять, как получить путь к проекту, который открывает Xcode. –

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"]; 
+0

Это работает! Благодаря! – Eric

+0

+1000. Не используйте bundlePath или текущий рабочий каталог, они не работают. – nflacco

+0

@Sachin, как вы узнали об этих методах? – onmyway133

Смежные вопросы