是否可以通过编程方式添加CardDav账户,就像可以通过手动使用Mail、Contacts、Calendars-> 添加帐户选项在设置应用程序中完成的那样。
通常情况下,是否可以通过代码添加其他类型的帐户?
例如,Exchange帐户。我在论坛上读到有人说不行。
根据ABSource
的说法,似乎无法从代码中添加帐户。只有从适当的源记录中读取和复制值的函数。
是否可以通过编程方式添加CardDav账户,就像可以通过手动使用Mail、Contacts、Calendars-> 添加帐户选项在设置应用程序中完成的那样。
通常情况下,是否可以通过代码添加其他类型的帐户?
例如,Exchange帐户。我在论坛上读到有人说不行。
根据ABSource
的说法,似乎无法从代码中添加帐户。只有从适当的源记录中读取和复制值的函数。
是的,您可以创建一个“配置文件”:其中包含您可以指定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>