.ics url iphone自动订阅日历

时间:2012-07-03 16:42:07

标签: iphone icalendar

我正在尝试创建一个网址,允许我自动订阅由Radicale提供服务的日历。它在没有日历的情况下工作(它只是创建它),但是当有一个预先存在的日历时它不起作用。我正在尝试获取“您是否要订阅此日历”对话框,将其加载到日历应用程序中,然后在服务器上更改时同步事件。我可以手动添加它作为CalDav日历,但不是订阅日历。

没有身份验证,它是公共日历。

以下是我的问题:

  1. 这是iOS支持的内容吗?我正在运行iOS 5.我已经读过它在iOS 4.1之前有效,但之后就停止了工作。
  2. 如果支持,我可以忽略什么?
  3. 以下是我尝试过的网址:

    http://public@192.168.0.123:5232/test.ics/
    webcal://public@192.168.0.123:5232/test.ics/
    http://192.168.0.123:5232/test.ics/
    http://192.168.0.123:5232/public/test.ics/ <- after moving files into /public_user
    http://192.168.0.123:5232/public_user/test.ics/ <- after moving files into /public_user
    

    我也尝试删除尾随的“/".

    我使用http://icalvalid.cloudapp.net/Default.aspx

    验证了日历

    任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

事实证明这是一个编码问题。我使用C#生成.ics文件,并在StreamWriter构造函数中使用Encoding.UTF8枚举,默认情况下会添加BOM。拉迪卡尔对此并不满意。一旦我用下面的代码纠正它,一切都运行正常。

UTF8Encoding myUtf8EncodingWithoutBom  = new UTF8Encoding(false);
StreamWriter    sw = new StreamWriter(fs, myUtf8EncodingWithoutBom);

此网址有效:

http://192.168.0.123:5232/test.ics/

我的ics文件位于.config \ radicale \ collections