Получить местоположение проекта для расширения XCode

Я работаю над расширением XCode, которое должно получить путь к проекту, то есть путь к проекту / рабочему пространству, из которого вы запускаете команду расширения, которую я создаю. Я пробовал что-то вроде этого:

let workspace = NSWorkspace.shared()
let path = workspace.absolutePathForApplication(withBundleIdentifier: Bundle.main.infoDictionary!["CFBundleIdentifier"] as! String)

но он просто возвращает ноль. Я также попытался получить его через FileManager, но он просто возвращает путь расширения.

1 ответ

Расширения приложений всегда находятся в "песочнице", поэтому они не имеют произвольного доступа к файловой системе.

В целях безопасности в Xcode Source Editor Extensions также передается только текст файла, для которого пользователь вызвал действие, но не путь к самому файлу или расширение песочницы, позволяющее получить к нему доступ или содержащий его проект.

Другие вопросы по тегам