作为注册开发人员进入iPhone开发者计划,我收到了来自苹果的消息,要求让所有应用程序与iPhone OS 3.0兼容。据说他们不会处理与iPhone OS 3.0不兼容的应用程序
问题在于,如果我将代码更改为与iPhone OS 3.0一起使用,则无法在2.2.1上运行。
例如sdk 2.2.1不支持在sdk 3.0中必需的以下内容:
cell.textLabel.text = @"text";
在2.2.1中我会写:
cell.text = @"text";
这不是唯一的问题。
你如何处理这个问题?
提前谢谢。
答案 0 :(得分:3)
不破坏任何NDA。可以这么说,因为目前在针对2.0 / 2.2.1构建的商店中的大多数应用程序也将在3.0下运行...您将理解即使可能存在最终将被弃用的API,但这并不意味着刚刚被有效弃用。这只意味着当您开始开发专门针对3.0的应用时,您应该停止使用它们。在此期间,您希望继续构建2.2.1,就像您没有听说过3.0一样。你只想在3.0上测试你的应用程序,但除非你做了一些奇怪的事情,否则你应该没有任何问题。
答案 1 :(得分:2)
由于NDA,没有详细介绍OS 3.0;
您应该检查this SO question and answer。 它显示了如何区分操作系统。
编辑:我同意FrançoisP。答案 2 :(得分:1)
我可能只是基于[[UIDevice currentDevice] systemVersion]将这些实例中的每一个包装在一个条件中,这将是一个形式为“1.2”“2.0”或“3.0”的NSString。
如果您的代码中有很多实例,请通过方法抽象或使用类别扩展违规类。