iOS如何通过编程方式添加CardDAV帐户

3

是否可以通过编程方式添加CardDav账户,就像可以通过手动使用Mail、Contacts、Calendars-> 添加帐户选项在设置应用程序中完成的那样。

通常情况下,是否可以通过代码添加其他类型的帐户?

例如,Exchange帐户。我在论坛上读到有人说不行。

根据ABSource的说法,似乎无法从代码中添加帐户。只有从适当的源记录中读取和复制值的函数。


也许你应该澄清你想要做那件事的原因或用例。用户配置文件是否可以解决你的问题? - hnh
当然,在我的情况下,我有一个CardDav服务器。如果我从代码中添加CardDAV的帐户,则标准应用程序Contacts将能够从CardDAV获取联系人列表并将其传输到我的通讯录,或者可能会有一些后台服务将联系人添加到我的通讯录。否则,我将不得不向服务器请求记录列表,并下载它们(下载vCards)。 - Siarhei Yakushevich
1个回答

4

是的,您可以创建一个“配置文件”:其中包含您可以指定CardDav账户配置文件的属性列表。您可以在苹果文档的Card Dav payload下找到有关格式的信息。

这里是一个示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Inc//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadVersion</key>
    <integer>1</integer>

    <key>PayloadUUID</key>
    <string>randomUUID</string>

    <key>PayloadType</key>
    <string>Configuration</string>

    <key>PayloadIdentifier</key>
    <string>com.example.carddav</string>

    <key>Label</key>
    <string>A Carddav Profile</string>

    <key>PayloadContent</key>
    <array>
    <dict>

        <key>CardDAVAccountDescription</key>
        <string>A Carddav Description</string>

        <key>CardDAVHostName</key>
        <string>carddav.example.com</string>

        <key>CardDAVPrincipalURL</key>
        <string>/principals/userid/</string>

        <key>CardDAVUsername</key>
        <string>userId</string>

        <key>CardDAVPassword</key>
        <string>password</string>

        <key>PayloadDescription</key>
        <string>Configures CardDAV account</string>

        <key>PayloadIdentifier</key>
        <string>com.example.carddav</string>

        <key>PayloadOrganization</key>
        <string>A nice company</string>

        <key>PayloadType</key>
        <string>com.apple.carddav.account</string>

        <key>PayloadUUID</key>
        <string>randomUUID</string>

       <key>PayloadVersion</key>
       <integer>1</integer>
    </dict>
    </array>
</dict>
</plist>

记得将文件保存为".mobileconfig"扩展名。
如果您对如何以编程方式打开配置文件感兴趣,可以查看这个问题https://dev59.com/53E95IYBdhLWcg3wXsyR g-a-configuration-profile-on-iphone-programmatically

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接