随着 iOS 的升级,旧版本的签名和方法会被 MonoTouch 标记为已过时。
我的问题是,如果我们采纳 MonoTouch 提供的新方法的建议,我们是否会对旧的 iOS 版本产生负面影响?
我了解到 iOS 6 中的 Facebook 等新功能在 4.3 中不可用,但这个问题更多的是关于在保持兼容性的情况下将 MonoTouch 应用程序迁移到更高版本的 IOS。
例如:
运行 MonoTouch 6 应用程序的 iOS 4.3 设备:删除过时的方法并用新方法替换它们是否仍然有效?
最佳答案
没有单一的、通用的答案,因为它取决于方法/类型被废弃的原因。
大多数 [Obsolete]
属性都有一条消息,说明您应该避免使用它们的原因。他们主要分为两组:
API 中存在绑定(bind)错误,例如错别字。添加了一个新的 API 来纠正这个问题(它的名称应该是描述的一部分)。在这种情况下,对于 4.3 设备,使用 MonoTouch 6.x 中添加的新 API 没有问题;
Apple 引入了一个新的 API 并弃用了旧的 API。在这种情况下,描述应说明新的 API 及其适用的 iOS 版本。如果您希望针对较旧的设备(例如 5.x),您应该不使用新的 API(例如 iOS 6.0 中添加的任何内容)。
如果您发现 [Obsolete]
方法/类型没有任何文本消息,或者文本不够清晰,无法让您做出明确的决定,请 file a bug report所以它可以被纠正。
关于ios - 单点触控 : Approaching Obsolete iOS methods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13275665/