什么是使用iPhone 3.0功能的最佳方式,同时仍保持与早期版本的兼容性?

StackOverflow https://stackoverflow.com/questions/1034348

  •  06-07-2019
  •  | 
  •  

例如,假设我编写了自己的类,允许我在iPhone上录制音频。 iPhone OS 3.0现在将该功能作为Cocoa Touch Framework的一部分提供。

如何使用我现有的类支持iPhone OS 2.2.1及更早版本,但同时利用Cocoa Touch Framework提供的新类来支持iPhone OS 3.0?

有帮助吗?

解决方案

由于Objective-C是一种非常动态的语言,您可以定位2.x并查询3.0功能的存在:

id pasteboard = [objc_getClass("UIPasteboard") generalPasteboard];
if (pasteboard) {
    NSLog(@"Got pasteboard, we're clearly on 3.0+");
} else {
    NSLog(@"Pasteboard not available, definitely 2.x");
}

其他提示

iPhone平台具有最高的升级速度,因此我不会担心向后兼容性。转到OS 3.0 API并专注于使用您的应用程序做更多其他很棒的事情。

如果人们想要你的应用并且他们拥有2.2.1 - 他们所要做的只是升级 - 而iPhone OS也是最容易升级的操作系统。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top