2

创建ABAddressBook对象时,我在 iOS6 上收到以下警告。我这样使用它:

ABAddressBook ab = new ABAddressBook ();

结果:

Warning CS0618: `MonoTouch.AddressBook.ABAddressBook.ABAddressBook()' is obsolete: `Use static Create method in iOS 6.0' (CS0618)

我应该如何使用上面提到的静态方法?

4

1 回答 1

5

最重要的是,当您看到有关已弃用[Obsolete]API 的警告时,请将其与您的应用程序目标进行比较。

例如,如果您希望您的应用程序在 iOS 5.1 上运行(因此它可以在原始 iPad 上执行),那么您可能无法使用新的 API(例如Create在这种情况下)。

如果您只针对 iOS 6(及更高版本),那么您可以停止使用已弃用的 API。

OTOH 这并不意味着旧代码不起作用。它仍然存在,因为 Apple 希望您创建适用于多个 iOS 版本的应用程序。因此,您有时间将它们从您的应用程序中删除(在 Apple 将它们从其库中删除之前)。

如何使用上面提到的静态方法?

以下是使用新 API 的方法:

NSError error;
ABAddressBook ab = ABAddressBook.Create (out error);
if (error != null)
    Console.WriteLine ("uho, deal with error");
于 2013-02-20T21:07:54.450 回答