随着iOS的升级,旧版本的签名和方法被MonoTouch标记为过时。
我的问题是,如果我们采纳MonoTouch提供的新方法的建议,我们是否会对旧的iOS版本产生负面影响?
我知道新功能,例如iOS 6中的Facebook在4.3中不可用,但这个问题更多的是关于将MonoTouch应用程序迁移到更高版本的IOS,同时保持兼容性。
例如:
运行MonoTouch 6应用程序的iOS 4.3设备:删除过时的方法并将其替换为新的方法仍然有用吗?
答案 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等。