MonoTouch:接近过时的iOS方法

时间:2012-11-07 18:15:14

标签: ios xamarin.ios obsolete

随着iOS的升级,旧版本的签名和方法被MonoTouch标记为过时

我的问题是,如果我们采纳MonoTouch提供的新方法的建议,我们是否会对旧的iOS版本产生负面影响?

我知道新功能,例如iOS 6中的Facebook在4.3中不可用,但这个问题更多的是关于将MonoTouch应用程序迁移到更高版本的IOS,同时保持兼容性。

例如:

运行MonoTouch 6应用程序的iOS 4.3设备:删除过时的方法并将其替换为新的方法仍然有用吗?

2 个答案:

答案 0 :(得分:3)

没有单一的,一般的答案,因为它取决于方法/类型被淘汰的原因。

大多数[Obsolete]属性都会显示一条消息,说明您应该避免它们的原因。他们大多分为两组:

  • API中存在绑定错误,例如一个错字。添加了一个新的API来纠正这个问题(它的名称应该是描述的一部分)。在这种情况下,对于4.3设备,使用MonoTouch 6.x中添加的新API没有问题;

  • Apple推出了一个新API,并弃用旧版API。在这种情况下,描述应说明新API和适用的iOS版本。如果您希望定位较旧的设备(例如5.x),则应使用新API(例如,在iOS 6.0中添加的任何内容)。

如果您发现[Obsolete]方法/类型没有任何短信,或者文字不够清晰,无法做出明确决定,请file a bug report以便更正。

答案 1 :(得分:1)

这可能有助于测试。添加旧的iPhone模拟器:

打开xcode,在顶部菜单中转到xcode>>首选项>>下载,您将可以选择下载用于xcode的旧sdks。您还可以下载命令行工具和设备调试支持。

这将让您进入模拟器硬件/版本菜单并选择4.3或5.0或5.1等。