iOS以编程方式添加CardDAV帐户

时间:2014-07-10 08:34:43

标签: ios carddav

是否可以通过编程方式添加 CardDav 帐户,因为可以通过手动使用 Mail,Contacts,Calendras - >来完成。在设置应用中添加帐户选项。

一般来说,可以在代码中添加任何其他类型的帐户吗?

例如交换账户。我在论坛的某个地方看到它不是。

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

1 个答案:

答案 0 :(得分:3)

是的,您可以创建一个" configuration profile":一个plist,您可以在其中指定CardDav帐户个人资料。您可以在Card Dav payload下的Apple文档中找到有关格式的信息。

以下是一个例子:

<?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>

请记住使用&#34; .mobileconfig&#34;保存文件。扩展

然后,如果您对如何以编程方式打开配置文件感兴趣,可以查看此问题 https://stackoverflow.com/questions/2338035/installin g-a-configuration-profile-on-iphone-programmatically