Как мне получить URL-адрес проекта XCode программно?

#objective-c #xcode #swift

#objective-c #xcode #swift

Вопрос:

Мне любопытно, есть ли способ программно получить местоположение пакета .xcodeproj в классе Objective-C (или Swift), содержащемся в этом пакете. Я хотел бы создать простую утилиту, которая помещает файлы непосредственно в папку, содержащую на основе различных событий приложения, но я бы предпочел избежать жесткого кодирования пути.

По сути, я хочу создать цель (и повторно используемый класс), который создает файлы swift для подклассов NSManagedObject на основе базовой модели данных, присутствующей в приложении.

Комментарии:

1. .xcodeproj В запущенном приложении нет. Пожалуйста, уточните.

2. Вы используете Mac OS или iOS?

3. Я просто хочу, чтобы приложение знало, где находится файл .xcodeproj, который его создал… Я обнаружил, что передача переменной среды $ {PROJECT_DIR} через файл plist была самым простым способом достижения этой цели.

Ответ №1:

Я обнаружил, что хитрость здесь заключается в добавлении элемента в ваш файл plist, который содержит значение $ {PROJECT_DIR}, тогда вы можете получить местоположение в своем коде с помощью

 var projectPath = NSBundle.mainBundle().infoDictionary.objectForKey("com.myapp.project_dir") as String
  

Конечно, предполагается, что ключом plist является «com.myapp.project_dir».