Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 使用Xcode在MacOS上进行服务器端快速开发,在Docker Ubuntu上进行测试:如何不每次清理/重新创建?_Swift_Xcode_Macos_Ubuntu_Server Side Swift - Fatal编程技术网

Swift 使用Xcode在MacOS上进行服务器端快速开发,在Docker Ubuntu上进行测试:如何不每次清理/重新创建?

Swift 使用Xcode在MacOS上进行服务器端快速开发,在Docker Ubuntu上进行测试:如何不每次清理/重新创建?,swift,xcode,macos,ubuntu,server-side-swift,Swift,Xcode,Macos,Ubuntu,Server Side Swift,以下是我的开发设置: 在MacOS上,我使用Xcode编辑和构建(但不运行)我的代码(我在Xcode/MacOS下构建只是为了确保我从项目中得到了语法错误)。我使用swift-package-generate-xcodeproj创建Xcode项目,之后对Xcode项目进行一些脚本调整,因为我需要添加一些设置 在运行Ubuntu的Docker容器中,在Mac OS上的终端窗口中,在与Mac OS相同的目录中,我运行我的测试 我遇到的问题是,每次我切换“边”——要在Docker/Ubuntu中开始测

以下是我的开发设置:

在MacOS上,我使用Xcode编辑和构建(但不运行)我的代码(我在Xcode/MacOS下构建只是为了确保我从项目中得到了语法错误)。我使用
swift-package-generate-xcodeproj
创建Xcode项目,之后对Xcode项目进行一些脚本调整,因为我需要添加一些设置

在运行Ubuntu的Docker容器中,在Mac OS上的终端窗口中,在与Mac OS相同的目录中,我运行我的测试

我遇到的问题是,每次我切换“边”——要在Docker/Ubuntu中开始测试,或者要在Xcode中开始编辑,似乎我必须删除.build文件夹。这就需要下载和构建所有包

如果我在没有清理和重建Xcode项目的情况下,从Docker/Ubuntu转到Xcode/MacOS,我会在Xcode中构建我的服务器:

如果我生成Xcode项目,然后尝试在Docker/Ubuntu上构建和测试,
swift test
会更新所有包,这需要时间,然后它必须构建项目。在Docker/Ubuntu上运行测试后,当我返回MacOS并尝试在Xcode中构建项目时,我会失败:

值得一提的是,在Mac OS上,以下是我的Swift版本: 苹果Swift版本5.2.2(swiftlang-1103.0.32.6 clang-1103.0.32.51)

在Linux上: Swift版本5.2.3(Swift-5.2.3-发布)


这让我不得不在每次切换时重新生成项目、重新下载包和在每一侧重建,这真的让我慢了下来。想法?

嗯,我找到了一个答案:在Docker/Linux上的所有脚本中,我都添加了
——build path.build.Linux
。例如:

swift build --build-path .build.linux 

默认情况下,当我为MacOS生成Xcode项目时,它会将Swift包放入
.build
中,因此我需要分离

只要项目中使用的包不发生变化,这应该可以很好地工作。如果他们这样做了,我将不得不在两侧更新它们

swift test --build-path .build.linux