【发布时间】:2013-01-12 22:44:25
【问题描述】:
有人要求我用一些 ios 6 功能更新内置于 Xcode 3.1 的旧 ios 应用程序。
当我尝试使用我的 xcode 4.5 构建源代码时,它拒绝编译,因为项目中有很多地方在方法中使用了简单的 return 语句,而这些方法实际上应该返回一个布尔值或类似的值。
Xcode 3.1 允许,而 4.5 不允许。在中间的某个地方,苹果决定添加这个限制。
我的问题是代码超过 20,000 行代码,并且开发人员在需要停止执行的任何地方都使用了简单的 return 语句。由于编译器在遇到第一个错误时会停止编译,所以我必须一次修复一个,然后再次尝试编译,却发现另一个错误。我尝试了大约 2 个小时来修复 100 条这样的返回语句。
是否有编译器标志或 Xcode 构建设置会将这些错误更改为警告并允许我在 Xcode 4.5 上运行此应用程序?
这是 Xcode 抛出的确切错误:
/Users.../Classes/WaterMaps.m:5471:5: 非 void 方法 'initWithParams:mass:radius:totalAssetInfo:' 应该返回一个值
请帮忙..
【问题讨论】:
标签: ios xcode compiler-construction return semantics