jcmax
@jcmax
Супер Пользователь

Как выполнить терминальные команды в swift?

Доброго всем дня/вечера

Хочу написать программу на swift под линукс для удобного использования проектов. Возникла проблема мне нужно когда я указываю новый проект он cоздавался в папке с проектами,
в терминале создать проект можно командой
swift package init --type executable
и сгенерировать xcode проект для дальнейшего использования в xcode можно этой командой
swift package generate-xcodeproj

У меня есть класс TerminalTools который отвечает за выполнение, чтение из терминала
например я пытаюсь выполнить эти две команды методом ниже и мне выдает ошибку

func shell(launchPath: String, arguments: [String]) -> String {

        let process = Process()
        process.launchPath = launchPath
        process.arguments = arguments

        let pipe = Pipe()
        process.standardOutput = pipe
        process.launch()

        let output_from_command = String(data: pipe.fileHandleForReading.readDataToEndOfFile(), encoding: String.Encoding.utf8)!

        // remove the trailing new-line char
        if output_from_command.characters.count > 0 {
            let lastIndex = output_from_command.index(before: output_from_command.endIndex)
            return output_from_command[output_from_command.startIndex ..< lastIndex]
        }
        return output_from_command
    }


creating project
fatal error: POSIX command failed with error: 2: file Foundation/Process.swift, line 473
Illegal instruction (core dumped)


искал в интернете пытался другие методы использовать всегда выдает такую ошибку,

не могу понять, из-за чего это может что-то с привелегиями??
  • Вопрос задан
  • 574 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы