2

并非所有新的 iOS 5 方法都是如此,但我发现setBackgroundImage:forBarMetrics:如果部署目标低于 5.0,调用 UINavigationBar 的方法将触发“未找到实例方法”警告。即使我与 SDK 5.0 链接也是如此。

更重要的是,用作参数的枚举 UIBarMetrics 被报告为“未声明的标识符”,这将触发编译器错误。

知道为什么会这样吗?我意识到如果部署目标低于 5.0,代码将不起作用,但我正在检查 UINavigationBar 在运行时是否响应该选择器,所以一切都应该没问题。我不明白编译器错误。

编辑:这只发生在为设备编译时,并且当设备实际插入时(我测试过的设备运行 iOS 5.0.1)。

4

1 回答 1

2

嗯,我发现了其中的奥秘。我设法通过删除 SDK 4.3 解决了这个问题(我从 Xcode 3 复制了一个,因为它默认不附带最新的 Xcode+SDK 包,我将它用于另一个遗留项目)。

我仍然无法解释为什么两个 SDK 都会导致错误,因为我显然是使用最新的 SDK 进行编译的。

于 2011-11-21T18:03:03.650 回答