【问题标题】:iOS Xcode compile error: unable to execute command: Segmentation fault: 11iOS Xcode 编译错误:无法执行命令:分段错误:11
【发布时间】:2015-08-15 02:25:42
【问题描述】:

我有一个过去编译完美的项目,但在上次 Xcode 更新 (6.3.2) 之后,每当我尝试直接在设备上运行它时都会出现编译错误。在模拟器中构建和运行它工作正常。存档功能也可以正常工作。但是无论我连接什么设备或设备运行什么iOS版本,我总是得到相同的编译错误:

Stack dump:

0.  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h:221:39: current parser token 'NS_REQUIRES_NIL_TERMINATION'
clang: error: unable to execute command: Segmentation fault: 11
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: arm-apple-darwin14.3.0
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://developer.apple.com/bugreporter/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /var/folders/p5/2yjs4f055hb0vvgl12yvj38r0000gq/T/SmallAdsSystem-a86b3e.m
clang: note: diagnostic msg: /var/folders/p5/2yjs4f055hb0vvgl12yvj38r0000gq/T/SmallAdsSystem-a86b3e.cache
clang: note: diagnostic msg: /var/folders/p5/2yjs4f055hb0vvgl12yvj38r0000gq/T/SmallAdsSystem-a86b3e.sh
clang: note: diagnostic msg: 

********************
  1. 它显示了我应该提交给错误报告的随机文件。
  2. 我没有将任何代码从工作版本更改为导致当前问题的版本,我什至恢复到早期版本,该版本已在 Appstore 中实时运行,但仍然出现相同的错误。
  3. 我已删除 xcode 并通过应用商店重新安装
  4. 我尝试更改我的代码以找出任何问题,但由于问题的源文件每次都会更改,我真的不再认为它与我的代码有任何关系。

这快把我逼疯了。 非常感谢任何帮助

【问题讨论】:

  • 你这样做了吗? "诊断消息:请向developer.apple.com/bugreporter 提交错误报告,并包括崩溃回溯、预处理源和相关的运行脚本。clang:注意:诊断消息:"
  • 不,还没有。想知道这是否只是我的错。
  • 请更改您的编译器 GCC 而不是 LLVM,然后尝试。
  • Picciano 是正确的:您应该始终报告编译器崩溃,这不是您的错。 (尽管正如 user2444342 所指出的,有时您可以通过修改代码来解决崩溃问题。) VD Patel:多年前从 Xcode 中删除了 GCC。 (上一个 GPL 2 版本已经很老了,Apple 不能使用任何 GPL 3 版本。)

标签: ios objective-c xcode compiler-errors llvm


【解决方案1】:

我尝试将 paypal 框架添加到我的 iOS 项目(使用 Xcode 7.2 和 Objective-C 语言),在构建它时没有给出任何错误,但是当我尝试存档项目并尝试制作 IPA 时,我我得到那个错误

无法执行命令:分段错误:11

截图:

经过大量尝试,我在项目的 Target->Build Settings->Enable Bitcode 中禁用了 Bitcode。现在可以实现构建了。请检查以下屏幕截图。

【讨论】:

  • 放到应用商店会有问题吗?
  • 嗨 @BhavinRamani 我已经尝试在 2-3 个项目中通过 WebView 和 paypal 框架为 Google 注册,但到目前为止,应用商店测试人员没有对此做出任何回应,我的意思是仍然现在应用程序可以通过这种变化来生活。我不知道他们以后会改变什么。
  • 您的回答帮助了我。在我的应用程序中集成 facebook 分析后,我在归档项目时出错,而不是在运行时。感谢您的回复。 ?
  • 它帮助了我。新项目,Xcode 7.2,OS X 10.10.5,归档导致分段错误。禁用位码,哎呀,归档完成。
【解决方案2】:

我找到了解决问题的方法:

我使用的是虚拟机,直接在共享文件夹中打开了项目。我将项目移到了文档中,现在它可以工作了!

【讨论】:

  • 关闭和重新打开项目工作......我觉得很愚蠢,但谢谢!
  • 遇到了同样的问题。似乎clang确实无法处理共享文件夹中的源。将源代码复制到虚拟机中的本地文件夹后,一切正常。
【解决方案3】:
unable to execute command: Segmentation fault: 11.

我能够关闭位码并能够实现 ipa。 可以深入了解位码的含义here

【讨论】:

  • 它有效,但我还需要从 WorkSpace 中删除该项目并再次打开它。
【解决方案4】:

我们刚刚意识到段错误是由我们的源代码中的无效的 unicode 字符引起的。

【讨论】:

    【解决方案5】:

    如果您使用的是虚拟机,则将文件复制到虚拟机内,不要从共享文件中导入,它会起作用。

    【讨论】:

      【解决方案6】:

      我遇到了完全相同的问题。 就我而言,我查看了有问题的文件并玩弄了它。我可以通过注释掉一个巨大的 NSDictionary 声明来解决这个错误:

       NSDictionary* glyphNameToUnicode = [[NSDictionary alloc] initWithObjectsAndKeys:
                                          @"A", @"A",
                                          @"\u00C6", @"AE",
                                          @"\u01FC", @"AEacute",
                                          @"\u01E2", @"AEmacron",
      

      这东西大概有 300 行,也许更多。相反,我将声明移动到文件中并从文件中加载字典。不确定这是否有帮助,但在我的情况下,这些文件不是随机的......

      虽然它是 xcode 的一个错误...

      【讨论】:

        【解决方案7】:

        Pods 提供了 xcode/.... 从 git 安装的路径,我安装了 xcode 7.3.1,它的名称类似于 xcode3,所以我遇到了这种类型的错误,但是当我将它重命名为 xcode 时,这个错误就为我解决了.

        所以总而言之,首先请在应用程序部分检查您的 xcode 名称。

        如果不是 xcode,请将其重命名为 xcode 并尝试运行您的应用程序。

        【讨论】:

        • 谢谢,这让我走上了正轨,我要求版主取消删除它。有关详细信息,请参阅我的回答(2016 年 9 月 29 日)。
        • 感谢@JoshuaNozzi 的理解。
        【解决方案8】:

        显然这是我的 Xcode 版本中的一个错误。不得不恢复到旧的,一切都恢复了。有了最新的更新,一切都恢复正常了。

        【讨论】:

          【解决方案9】:

          为了解决导致在 10.12 (macOS Sierra) 下构建的应用程序无法在 10.9 下启动的问题(在撰写本文时已知错误已作为副本关闭)(即使他们之前没有遇到任何问题) ,我在 VMWare 实例下安装了 10.11 和 Xcode 7.3.1。 Xcode(由于我的懒惰)被复制到桌面。

          阅读 SmarterSusheel 关于重命名 Xcode 的回答后,我突然意识到这可能与路径有关,因此我将 Xcode 移至 /Applications 并再次尝试。问题(大部分)解决了。我说“主要是”是因为我还必须将我的项目文件夹复制到 VMWare 实例中,因为它似乎也有在共享文件夹下构建的问题。

          【讨论】:

            【解决方案10】:

            在调试和发布模式下将Link-Time Optimization 设置为NO 为我解决了这个问题。

            【讨论】:

            • Incremental 在设备上不起作用,但 Monolithic 工作正常。所以我使用No 进行调试,使用Monolithic 进行发布。
            【解决方案11】:

            我也遇到过类似的问题:

            clang: error: unable to execute command: Segmentation fault: 11
            clang: error: linker command failed due to signal (use -v to see invocation)
            

            只需从 Xcode 7.2 更新到 7.3.1 即可解决问题!

            【讨论】:

            • 它也帮助了我。但过了一段时间,Xcode 7.3.1 出现了同样的问题。
            【解决方案12】:

            在为运行 9.3 的 iPhone 4s 模拟器构建时,我只遇到了 i386 架构的问题

            当禁用位码不起作用(上面建议)时,我尝试查看源代码。我没有找到任何与 ascii 相关的东西(由其他人建议),所以我尝试逐个注释掉,直到找到违规行。对我来说,错误是由这个引起的:

            let keyboardSize = ((info![UIKeyboardFrameBeginUserInfoKey] as AnyObject).cgRectValue.size)
            

            改成:

            let keyboardSize = (info![UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue.size
            

            【讨论】:

              【解决方案13】:

              退出并重新打开对我有用的 Xcode!

              确保在重新打开 Xcode 后清理 build 文件夹!

              【讨论】:

                【解决方案14】:

                我也遇到过类似的问题:

                clang:错误:无法执行命令:分段错误:11 clang:错误:链接器命令因信号而失败(使用 -v 查看调用)

                然后我正在更改我的配置文件。

                【讨论】:

                  猜你喜欢
                  • 2016-10-30
                  • 2016-07-16
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-04-10
                  • 1970-01-01
                  • 2015-12-15
                  • 2015-12-16
                  相关资源
                  最近更新 更多