Получить местоположение проекта для расширения XCode
Я работаю над расширением XCode, которое должно получить путь к проекту, то есть путь к проекту / рабочему пространству, из которого вы запускаете команду расширения, которую я создаю. Я пробовал что-то вроде этого:
let workspace = NSWorkspace.shared()
let path = workspace.absolutePathForApplication(withBundleIdentifier: Bundle.main.infoDictionary!["CFBundleIdentifier"] as! String)
но он просто возвращает ноль. Я также попытался получить его через FileManager, но он просто возвращает путь расширения.
1 ответ
Расширения приложений всегда находятся в "песочнице", поэтому они не имеют произвольного доступа к файловой системе.
В целях безопасности в Xcode Source Editor Extensions также передается только текст файла, для которого пользователь вызвал действие, но не путь к самому файлу или расширение песочницы, позволяющее получить к нему доступ или содержащий его проект.