不推荐使用ABAddressBook,如何使用ABAddressBook.Create方法?

时间:2013-02-20 20:49:29

标签: c# ios6 xamarin.ios abaddressbook

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

ABAddressBook ab = new ABAddressBook ();

结果:

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

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

1 个答案:

答案 0 :(得分:5)

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

E.g。如果您希望您的应用程序在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");