Загрузочный файл инструмента командной строки Swift из комплекта MacOS и Docker - PullRequest
0 голосов
/ 08 апреля 2020

Насколько я понимаю, это инструмент командной строки, у вас нет пакета.

Но есть ли у проекта другой способ получить доступ к файлам, которые находятся в той же папке, что и проект? В Docker проект всегда будет находиться в одной и той же папке, поэтому stati c location, но в ОС Ma c папка проекта не будет stati c.

Так что попробуйте это:

let fileManager = FileManager.default
// Get current directory path
let path = fileManager.currentDirectoryPath
print(path)

Печать на Ма c:

/Users/###/Library/Developer/Xcode/DerivedData/###ProjectName-gbrekmycjpusgdatsbnhemhkhbrj/Build/Products/Debug

Печать на Docker:

/app

Другой способ:

    #if os(macOS)
      for bundle in Bundle.allBundles {
        print(bundle.bundleURL)
      }
    #else
        print(Bundle.main.bundleURL)
    #endif

Ма c ОС:

file:///Users/xxx/Library/Developer/Xcode/DerivedData/xxxProjectName-gbrekmycjpusgdatsbnhemhkhbrj/Build/Products/Debug/

Docker:

file:///app/.build/x86_64-unknown-linux/debug/

Есть идеи / предложения?

...