是否可以通过编程方式添加 CardDav 帐户,因为可以通过手动使用 Mail,Contacts,Calendras - >来完成。在设置应用中添加帐户选项。
一般来说,可以在代码中添加任何其他类型的帐户吗?
例如交换账户。我在论坛的某个地方看到它不是。
根据ABSource
,似乎无法从代码中添加帐户。只有从适当的源记录中读取和复制值的函数
答案 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