ios - 命令因信号 : Segmentation fault: 11 compile error 而失败

标签 ios swift segmentation-fault xcode7

我花了很多时间尝试自己解决这个问题,并且已经仔细检查了 SO 上的可用答案,但出现了同样的错误。所以这里列出了我已经从可能的原因中排除的事情:

  1. 表明框架没有问题 here .我创建了另一个具有相同框架集的项目,一切正常
  2. 没有issue with SwiftyJSON , 在测试项目中也能正常工作
  3. 代码中没有突出显示的编译问题
  4. 我使用比较工具检查了两个不同的 project.pbxproj 文件(来 self 的原始项目和新的测试项目),以发现项目设置中的一些差异,都是一样的
  5. 我还比较了两个项目的构建命令选项,结果都是一样的

当我转到 Report Navigator 并查找每个未成功编译的文件时,我发现了一些奇怪的相关性:任何使用 NSString API 的文件都无法编译。为了证明这个假设,我找到了一些编译成功的文件,并在其中添加了以下代码行

let abc = NSString(string: "abc")

然后这个文件也停止编译。

所以对于某些文件,它表示使用 as NSString 强制转换 String 类对象是无效的,在某处 NSAttributedString/NSString 创建失败,在其他一些地方调用 comparerangeOfString 不正确等。但是当我复制粘贴导致 Segmentation fault 我的新项目出错,他们编译成功

当然,就在一天前,该项目还可以使用 Xcode 6 正常编译

我不知道从这里去哪里以及如何解决这些问题,任何帮助都会非常有用

UPD

我将无法编译的项目上传到 GitHub

最佳答案

在您项目的“MYHelpers.h/.m”中(大概来自 https://github.com/AlexandrGraschenkov/MYHelpers) 定义了一个带有一些实用方法的 NSString 类别:

#pragma mark - NSString+Utils

@interface NSString (Utils)
- (NSString *)trim; // trim whitespace characters with new line
- (NSString *):(NSString *)appendString;
- (NSURL *)toURL;
- (NSString *)URLEncodedString;
- (NSString *)URLDecodedString;
- (NSString *)lightURLEncodeString;
+ (BOOL)emailValidate:(NSString *)email;
- (CGSize)sizeForStringWithFont:(UIFont *)font constrainedToSize:(CGSize)size;
- (id)JSON;
@end

第二种方法

- (NSString *):(NSString *)appendString;

有一个空的选择器名称。这在 Objective-C 中是允许的, 你可以调用这个方法

NSString *foobar = [@"foo" :@"bar"];

(我不知道这个方法是不是故意用空定义的 选择器名称——我不推荐它。)

但它会导致 Swift 编译器崩溃。仅当 NSString 时才会发生这种情况 在 Swift 代码的某处被引用。 (编译器永远不应该崩溃,不管输入是多么的畸形, 所以我建议向 Apple 提交错误报告)。

您可以将方法重命名为

- (NSString *)appendString:(NSString *)appendString;

(如果您的项目中不需要它,则只需将其删除), 这应该可以解决问题。

关于ios - 命令因信号 : Segmentation fault: 11 compile error 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32672877/

相关文章:

swift - 重复图案图像作为 SwiftUI 中的背景?

ios - Swift 中不可见的 Objective-C 协议(protocol)方法

C 代码段错误(核心转储)

ios - Xcode 更改未修改的 Storyboard和 XIB 文件

ios - 多个 UISplitView 的一个详细 View

ios - 在 Swift 中运行动画时更改节点大小

c - OpenMP 奇怪的行为

segmentation-fault - 向右旋转和向右疯狂操作会引发段错误

ios - 将数组从 Core Data 转换为 JSON 字符串的最佳方法?

android - react native : how to change view on onPress event