由于信号命令失败:分段错误:11编译错误

时间:2015-09-19 20:28:36

标签: ios swift segmentation-fault xcode7

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

  1. 指示here的框架没有问题。我创建了另一个具有相同框架集的项目,一切都很好
  2. issue with SwiftyJSON,在测试项目中也可以正常工作
  3. 代码中未突出显示编译问题
  4. 我使用比较工具查看了两个不同的project.pbxproj文件(来自我的原始项目和新测试项目),以找到项目设置中的一些差异,所有这些
  5. 我还比较了两个项目的构建命令选项以及所有相同的
  6. 当我转到Report Navigator并查找未成功编译的每个文件时,我发现了一些奇怪的相关性:任何使用NSString的某些API的文件都无法编译。为了证明这个假设,我发现了一些编译成功的文件并添加了以下代码行

    let abc = NSString(string: "abc")
    

    然后此文件也停止编译。

    因此,对于某些文件,它表示使用String投射as NSString类对象无效,某处NSAttributedString / NSString创建失败,在其他一些地方调用{{1 }}或compare不正确等等。但是当我将所有导致rangeOfString错误的代码片段粘贴到我的新项目时,他们成功编译了

    当然,该项目仅在一天前使用Xcode 6进行编译

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

    UPD

    我上传了不会编译到GitHub

    的项目

2 个答案:

答案 0 :(得分:1)

在" 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;

(或者,如果您在项目中不需要它,只需删除它), 应该解决这个问题。

答案 1 :(得分:0)

我的项目也面临同样的问题。 See my screen shot 我的情景: 找到我在最后发现此错误的下面的场景。 我在我的快速项目中使用了我的Objective-C代码。 2.基本上它是我在代码中使用的{strong>类类UIImage

此错误的原因:据我所知,编译器与某些代码混淆并且无法显示确切原因。所以它抛出了以下信息:

  

命令因信号失败:分段错误:11

我的解决方案: 我刚刚在类别类头文件中导入#import <UIKit/UIKit.h>,我的错误已经立即解决。

乐意帮助你!!