Xcode 6.3上的零值问题

16

我昨天升级到了Xcode 6.3。自那以后,我无法构建任何包含Parse.framework的东西。对于PFConstants.h,我收到以下错误信息:

nullability specifier '_nullable' cannot be applied to non-pointer

我从未见过此错误,并且除了更新到6.3之外没有更改任何内容。有什么想法吗?

2个回答

19

Parse已经实现了Xcode 6.3中可用的新空指针注释 - 请查看他们的博客文章,但似乎旧框架中的方法会导致编译错误。

只需从最新的API下载更新Parse框架,问题便可解决。


2
就是这样了。谢谢你的快速回答。真是疯狂,一个更新竟然引起了这么多问题。 - user717452
2
我也遇到了同样的问题,我已经移除了旧版本的Parse并用新版本替换了它,但是这个错误(以及其他错误)仍然出现。除了移除框架并添加更新版本之外,我还应该做些什么吗?目前我还遇到了“无法导入bridging header”错误以及“无法构建模块ParseUI”的错误,此外还有nullability错误。 - SamYoungNY
这里也出现了同样的错误,无法构建项目... @SamYoungNY 你找到线索了吗? - Clément S.
还没有... @BergzBoy,你可以看看这个链接,我觉得没什么用,但是也许对你有帮助 https://groups.google.com/forum/#!topic/parse-developers/im-bNTazInU --- 我也在这里提交了一个工单:https://groups.google.com/forum/#!topic/parse-developers/p-k-hJGuofA - SamYoungNY

1

这似乎是与您正在使用的Parse版本有关的问题。虽然明显的答案是更新Parse的版本,但这可能会在应用程序中引起连锁反应。

我不想升级到最新版本的Parse,因为这将需要进行重大更改以适应新的Facebook SDK和其他所需的库。

我发现这个修复方法很有效,可以让项目编译并工作:

交换问题变量中PF_NULLABLE_S的位置,这似乎可以解决问题。

所以将它们改成这样:

typedef void (^PFArrayResultBlock)(PF_NULLABLE_S NSArray *objects, PF_NULLABLE_S NSError *error);

转换为:

typedef void (^PFArrayResultBlock)(NSArray * PF_NULLABLE_S objects, NSError * PF_NULLABLE_S error);

这使得我的应用程序可以正常编译和运行,而无需更改库。这个答案肯定不是解决根本问题的方法,但在许多情况下非常有用,例如:您想要测试旧版本,但不想立即更新它,仍然希望能够运行它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接