首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取分段错误:使用FileManager.default.currentDirectoryPath时使用SWIFT5.2的11次

获取分段错误:使用FileManager.default.currentDirectoryPath时使用SWIFT5.2的11次
EN

Stack Overflow用户
提问于 2020-03-25 10:21:17
回答 2查看 531关注 0票数 6

我有一个自定义Swift脚本,类似于以下内容:

代码语言:javascript
复制
#!/usr/bin/env xcrun --sdk macosx swift

import Foundation

let path = FileManager.default.currentDirectoryPath

在SWIFT5.1和更低版本上运行得很好,但是更新到SWIFT5.2后,我得到了

代码语言:javascript
复制
0. Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -interpret test.swift -enable-objc-interop -stack-check -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -color-diagnostics -module-name test 
1. Apple Swift version 5.2 (swiftlang-1103.0.32.1 clang-1103.0.32.29)
2. While running user code "test.swift"
0 swift 0x000000010dd2f4ea PrintStackTraceSignalHandler(void*) + 42
1 swift 0x000000010dd2ecc0 SignalHandler(int) + 352
2 libsystem_platform.dylib 0x00007fff6710f42d _sigtramp + 29
3 libsystem_platform.dylib 0x00007ffee6222018 _sigtramp + 2131831816
4 swift 0x0000000109ab29ba llvm::MCJIT::runFunction(llvm::Function*, llvm::ArrayRef<llvm::GenericValue>) + 458
5 swift 0x0000000109ab9a2b llvm::ExecutionEngine::runFunctionAsMain(llvm::Function*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char const* const*) + 2011
6 swift 0x0000000109a8eaea performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, bool, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, bool, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 14362
7 swift 0x0000000109a834a5 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 55813
8 swift 0x00000001099f94d3 main + 1283
9 libdyld.dylib 0x00007fff66f167fd start + 1
10 libdyld.dylib 0x000000000000000b start + 2567870479
Segmentation fault: 11

有没有什么我不知道的重大变化?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-27 08:02:44

结果发现,在这种情况下,问题是在流氓覆盖数据库中,因为我一直在使用SwiftGen。

解决方案是通过调用SwiftGen卸载

代码语言:javascript
复制
brew uninstall swiftgen

或跟随尼古拉的回答从Swift bug跟踪系统通过重新安装SwiftGen

代码语言:javascript
复制
--build-from-source

选项并从"lib“文件夹中移除dylib。

票数 8
EN

Stack Overflow用户

发布于 2020-05-06 17:19:11

我也遇到过同样的问题。在使用旧版本的Xcode并行安装时,我只需切换Xcode版本,就可以避免处理SwiftGen。可以将菜单中的Xcode版本更改为

Xcode ->首选项-> Locations ->命令行工具

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60846801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档