【问题标题】:How do I set the default contacts container for my iOS app to the contacts container that is saved in iCloud?如何将我的 iOS 应用程序的默认联系人容器设置为保存在 iCloud 中的联系人容器?
【发布时间】:2022-01-13 21:52:48
【问题描述】:

我正在使用 Swift 和 Xcode 13.1 编写一个 iOS 应用程序。我正在使用联系人框架,并且我读到每个应用程序都有一个默认的联系人容器,并且一个应用程序中的默认容器可以与另一个应用程序中的默认容器不同,并且整个设备没有默认容器。

什么决定了 Xcode 项目创建的应用程序的默认容器是什么?我没有为我的应用程序设置默认容器,并且不知何故,Google 帐户的联系人容器成为我的应用程序的默认联系人容器。如何使用代码为我的应用设置默认联系人容器?

我如何找出 iOS 自带的 Apple 通讯录应用的默认容器?我想将我的应用程序的默认联系人容器设置为与 Apple 的联系人应用程序相同的默认容器,如果那是保存在 iCloud 上的联系人容器。如果没有,我想将我的应用程序的默认联系人容器设置为保存在 iCloud 中的联系人容器。我假设只有一个联系人容器保存在 iCloud 上。

【问题讨论】:

    标签: ios swift xcode ios-contacts cncontainer


    【解决方案1】:

    用户可以在设置中为新联系人指定默认联系人容器。您的应用可以使用 defaultContainerIdentifier 访问此容器的标识符。

    如果您希望允许用户为您的应用创建的新联系人指定不同的容器,那么您需要自己编写代码。

    您需要提供一个视图来显示调用containers(matching:nil) 所产生的联系人容器列表。用户选择容器后,将其标识符存储在您的应用偏好设置中,并在您创建新联系人时使用该容器标识符。

    您对容器的了解只有它的identifiernametype(Exchange、CalDAV 或本地)。

    【讨论】:

    • 我无法在我的应用设置中找到允许用户选择默认容器的应用。设置中的设置在哪里?我认为每个应用程序都可以有自己的默认容器。
    • 好的。我找到了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多