Aza*_*zat 6 segmentation-fault ios swift xcode7
我花了很多时间尝试自己解决这个问题,并且已经在SO上检查了可用的答案并且出现了同样的错误.所以这里列出了我已经从可能的原因中排除的东西:
project.pbxproj使用比较工具浏览了两个不同的文件(来自我的原始项目和新测试项目),以找到项目设置中的一些差异,都是一样的当我转到Report Navigator并查找未成功编译的每个文件时,我发现了一些奇怪的相关性:任何使用某些API的文件都NSString无法编译.为了证明这个假设,我发现了一些编译成功的文件并添加了以下代码行
let abc = NSString(string: "abc")
Run Code Online (Sandbox Code Playgroud)
然后这个文件也停止编译.
因此,对于某些文件,它说铸造String类对象as NSString是无效的,某处NSAttributedString/ NSString创建失败,在某些其他地方调用compare或rangeOfString不正确等等.但是当我复制粘贴导致Segmentation fault错误的所有代码片段到我的新项目时,他们编译顺利
当然,仅在一天前,该项目使用Xcode 6编译得很好
我不知道从哪里开始以及如何解决这些问题,任何帮助都将非常有用
UPD
我上传了没有编译到GitHub的项目
在项目的“MYHelpers.h/.m”中(大概来自https://github.com/AlexandrGraschenkov/MYHelpers)\naNSString定义了一些实用方法的类别:
#pragma mark - NSString+Utils\n\n@interface NSString (Utils)\n- (NSString *)trim; // trim whitespace characters with new line\n- (NSString *):(NSString *)appendString;\n- (NSURL *)toURL;\n- (NSString *)URLEncodedString;\n- (NSString *)URLDecodedString;\n- (NSString *)lightURLEncodeString;\n+ (BOOL)emailValidate:(NSString *)email;\n- (CGSize)sizeForStringWithFont:(UIFont *)font constrainedToSize:(CGSize)size;\n- (id)JSON;\n@end\nRun Code Online (Sandbox Code Playgroud)\n\n第二种方法
\n\n- (NSString *):(NSString *)appendString;\nRun Code Online (Sandbox Code Playgroud)\n\n有一个空的选择器名称。Objective-C 中允许这样做,\n您可以使用以下命令调用该方法
\n\nNSString *foobar = [@"foo" :@"bar"];\nRun Code Online (Sandbox Code Playgroud)\n\n(我不知道该方法是否是故意使用空选择器名称 \xe2\x80\x93 定义的,我不推荐它。)
\n\n但它会导致Swift 编译器崩溃。仅当NSString在 Swift 代码中的某处引用时才会发生这种情况。\n(无论输入的格式多么错误,编译器都不应崩溃,\n因此我建议向 Apple 提交错误报告)。
您可以将该方法重命名为
\n\n- (NSString *)appendString:(NSString *)appendString;\nRun Code Online (Sandbox Code Playgroud)\n\n(或者如果您的项目中不需要它,则只需将其删除),\n这应该可以解决问题。
\n| 归档时间: |
|
| 查看次数: |
3926 次 |
| 最近记录: |