在使用Xcode 4提交之前,我可以在Xcode 5中编码然后注释掉iOS7特定代码吗?

时间:2013-08-07 14:59:00

标签: ios

我需要为新的iOS版本解决一些布局问题,并且有一个新方法,让我们称之为newMethodThatIsNotIniOS6,我可以使用代码来修复它们:

if ([self respondsToSelector:@selector(newMethodThatIsNotIniOS6)]) {
    self.newMethodThatIsNotIniOS6 = PARAMETER;
}

此代码在Xcode 5中工作正常,但不会在Xcode 4中编译,因为该方法未定义。

现在,我在处理iOS6的新应用程序时注释掉了代码,但有没有办法让它在Xcode 4中编译?或者,我可以安全地在Xcode 5中编码,然后在我使用Xcode 4提交之前删除iOS7特定代码吗?

1 个答案:

答案 0 :(得分:3)

您可以使用预编译宏排除代码,例如:

#ifdef __IPHONE_6_0
if ([self respondsToSelector:@selector(newMethodThatIsNotIniOS5)]) {
    self.newMethodThatIsNotIniOS5 = PARAMETER;
}
#endif

这只包括您使用iOS 6+ SDK进行编译的方法,如果您使用iOS 5 SDK进行编译,则不会使用该方法。