4

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

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

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

例如:

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

4

2 回答 2

3

没有单一的、通用的答案,因为它取决于方法/类型被废弃的原因。

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

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

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

如果您发现[Obsolete]没有任何文本消息的方法/类型,或者文本不够清晰,无法做出明确的决定,请提交错误报告以便更正。

于 2012-11-07T18:25:34.537 回答
1

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

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

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

于 2012-11-07T19:11:58.690 回答