因此,已经有很多人要求修复这个问题,我已经尝试过所有建议的修复方法,比如启用可测试性,或者关闭编译优化。
Env:带有多个较小模块的iOS应用程序,其中一个模块同时针对iOS和watchOS。watchOS目标构建得很好,但是iOS构建失败了,没有在调试和发布构建配置时进行编译。
工作区概述
imports X, Y, Z, pods
iOS/watchOS/extensions/etc. X iOS/watchOS Y iOS imports X
E 223 iOS imports X, Y
堆栈转储:
1. Apple Swift version 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)
2. While generating SIL witness table protocol conformance to 'Hashable' (in module 'Swift') for type 'NSNotification.Name'
3. While generating protocol witness thunk SIL function "@$sSo18NSNotificationNameaSHSCSH4hash4intoys6HasherVz_tFTW".
for 'hash(into:)' (in module 'Foundation')
4. While emitting SIL for 'hash(into:)' (in module 'Foundation')
5. While silgen emitFunction SIL function "@$sSo18NSNotificationNamea4hash4intoys6HasherVz_tF".
for 'hash(into:)' (in module 'Foundation')
0 swift 0x0000000106f0b4ea PrintStackTraceSignalHandler(void*) + 42
1 swift 0x0000000106f0acc0 SignalHandler(int) + 352
2 libsystem_platform.dylib 0x00007fff712955fd _sigtramp + 29
3 libsystem_platform.dylib 0x00007fe5cdd76a50 _sigtramp + 1554912368
4 swift 0x0000000103158ebe swift::ASTVisitor<(anonymous namespace)::StmtEmitter, void, void, void, void, void, void>::visit(swift::Stmt*) + 382
5 swift 0x000000010310bb4f swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) + 799
6 swift 0x0000000103071d29 swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) + 953
7 swift 0x0000000103070958 swift::Lowering::SILGenModule::getFunction(swift::SILDeclRef, swift::ForDefinition_t) + 1368
8 swift 0x0000000103164b35 swift::Lowering::SILGenFunction::emitGlobalFunctionRef(swift::SILLocation, swift::SILDeclRef, swift::Lowering::SILConstantInfo, bool) + 485
9 swift 0x0000000103153e5b swift::Lowering::SILGenFunction::emitProtocolWitness(swift::Lowering::AbstractionPattern, swift::CanTypeWrapper<swift::AnyFunctionType>, swift::SILDeclRef, swift::SubstitutionMap, swift::SILDeclRef, swift::SubstitutionMap, swift::Lowering::IsFreeFunctionWitness_t, bool) + 2507
10 swift 0x0000000103167a8e swift::Lowering::SILGenModule::emitProtocolWitness(swift::ProtocolConformanceRef, swift::SILLinkage, swift::IsSerialized_t, swift::SILDeclRef, swift::SILDeclRef, swift::Lowering::IsFreeFunctionWitness_t, swift::Witness) + 2686
11 swift 0x0000000103166f96 (anonymous namespace)::SILGenWitnessTable<(anonymous namespace)::SILGenConformance>::addMethod(swift::SILDeclRef) + 902
12 swift 0x000000010316654d swift::SILWitnessVisitor<(anonymous namespace)::SILGenConformance>::visitProtocolDecl(swift::ProtocolDecl*) + 1805
13 swift 0x0000000103165af6 swift::Lowering::SILGenModule::getWitnessTable(swift::NormalProtocolConformance*) + 550
14 swift 0x000000010307d6c2 swift::SILModule::constructSIL(swift::ModuleDecl*, swift::Lowering::TypeConverter&, swift::SILOptions&, swift::FileUnit*) + 2242
15 swift 0x0000000102c5ee9b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 55595
16 swift 0x0000000102bd4f53 main + 1283
17 libdyld.dylib 0x00007fff7109ccc9 start + 1
18 libdyld.dylib 0x00000000000000fe start + 2398499894
error: Segmentation fault: 11 (in target 'X iOS' from project 'X')项目使用Xcode 11.3.1构建得很好
尝试过这些线程的解决方案没有任何帮助。
我还在3月26日(FB7640933)向苹果提交了一份反馈,但没有得到任何回应.
发布于 2020-05-06 13:27:30
所以我想我已经弄清楚是什么引起了这些麻烦。删除此代码将导致正确构建模块。
extension Hashable where Self: RawRepresentable, Self.RawValue == String {
public func hash(into hasher: inout Hasher) {
hasher.combine(rawValue)
}
}https://stackoverflow.com/questions/61635041
复制相似问题