【问题标题】:Command failed due to signal: Segmentation fault: 11 while archiving由于信号,命令失败:分段错误:归档时 11
【发布时间】:2017-02-10 19:30:39
【问题描述】:

我尝试归档我的应用程序并收到此错误: 由于信号导致命令失败:分段错误:11

当我构建它时,一切都很顺利,在真实设备上也是如此。存档时会发生这种情况。任何想法如何解决?

这是错误的一部分:

0  swift                    0x000000010f79f3ad PrintStackTraceSignalHandler(void*) + 45
1  swift                    0x000000010f79eb56 SignalHandler(int) + 790
2  libsystem_platform.dylib 0x00007fffc82d5bba _sigtramp + 26
3  libsystem_platform.dylib 0x0000000000000040 _sigtramp + 936551584
4  swift                    0x000000010cae0de3 swift::CastOptimizer::optimizeUnconditionalCheckedCastAddrInst(swift::UnconditionalCheckedCastAddrInst*) + 1699
5  swift                    0x000000010cb69d4d processFunction(swift::SILFunction&, bool, unsigned int) + 1917
6  swift                    0x000000010cb70c9f (anonymous namespace)::ConstantPropagation::run() + 47
7  swift                    0x000000010caff89e swift::SILPassManager::runOneIteration() + 5166
8  swift                    0x000000010cb051f6 swift::runSILOptimizationPasses(swift::SILModule&) + 3462
9  swift                    0x000000010c7ac0e2 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*) + 20114
10 swift                    0x000000010c7a52b3 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 17859
11 swift                    0x000000010c7615cf main + 8239
12 libdyld.dylib            0x00007fffc80c8255 start + 1
13 libdyld.dylib            0x00000000000000ee start + 938704538

最后:

1.  While running pass #38147 SILFunctionTransform "Constant Propagation" on SILFunction "@_TTSg5VSC29UIApplicationLaunchOptionsKeyS_s8Hashable5UIKit_P__CSo8NSObjectS2_S0_10ObjectiveC_Ps9AnyObject____TFs17_dictionaryUpCastu2_Rxs8Hashable0_S_rFGVs10Dictionaryxq__GS0_q0_q1__".

【问题讨论】:

  • 您是否尝试过清理项目并删除 DerivedData?
  • @user6603599 是的,我没有工作
  • 禁用 Swift Compiler Optimization for Release 怎么样?
  • @user6603599 好的,现在我收到此错误error: .../Build/Products/Debug-iphoneos/AWSSNS/AWSSNS.framework: No such file or directory
  • 看看框架; AWSSNS.framework 是否以红色列出?

标签: ios xcode swift3 xcode8


【解决方案1】:

尝试禁用 Swift Compiler Optimization for Release

如果您因丢失文件而出现任何错误:

在文件的文件检查器中单击“位置”旁边的文件夹图标并手动定位文件

【讨论】:

  • 尝试禁用 Swift Compiler Optimization for Release - 更具体地说:在您的目标 > 构建设置 > 优化级别 > 发布 > 无优化 [-Onone]
【解决方案2】:

就我而言,我测试了所有解决方案,包括在构建设置中禁用优化:

构建设置 > 优化级别 > 发布 > 无优化 [-Onone]

我不推荐上述解决方案,因为这会影响您的整个应用程序并且您的最终二进制文件不会被优化。

根据与 Apple 技术团队的联系,可能导致此错误的原因有多种,但是在优化过程中有一个已知的存档错误,您需要通过查找编译器失败的位置并添加 @987654321 来绕过它@ 在导致问题的函数顶部。

此属性将告诉编译器忽略该函数进行优化。

class MyNavigationController:UINavigationController {

    @_optimize(none)
    init(navigationController: UINavigationController?, context: AppContextProtocol) {
      // content
    }
}

【讨论】:

    【解决方案3】:

    检查构建设置 -> Swift 3 @Objc 推理。它很可能应该关闭。

    【讨论】:

      猜你喜欢
      • 2014-12-20
      • 2015-12-16
      • 1970-01-01
      • 2015-06-14
      • 2017-06-23
      • 2017-03-21
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多