我正在尝试在我的应用中下载并打开.ics文件。
我发现了一些问题,这里有一些我正在使用的代码
// NSString *path = [[NSBundle mainBundle] pathForResource:@"http://www.nmsd.wednet.edu//site/handlers/icalfeed.ashx?MIID=607" ofType:@"ics"];
NSURL *url = [NSURL fileURLWithPath:@"http://www.nmsd.wednet.edu//site/handlers/icalfeed.ashx?MIID=607"];
UIDocumentInteractionController *dc = [UIDocumentInteractionController interactionControllerWithURL:url];
dc.delegate = self;
[dc presentPreviewAnimated:YES];
什么都没发生。没有任何错误。寻找图书馆来实现这一目标会更容易吗?
答案 0 :(得分:5)
如果您有远程.ics
文件的链接,请为Safari
准备。
假设您有iCal
文件的链接:
"pl-dev2.office.org/events/sync.ics?t=90613b6c7f8".
只需在链接中添加前缀webcal://
即可。
<强>夫特强>
let link = "webcal://pl-dev2.office/events/sync.ics?t=90613b6c7f8"
let webcal = NSURL(string: link)
UIApplication.sharedApplication().openURL(webcal)
<强>目标C 强>
NSString *link = "webcal://pl-dev2.office/events/sync.ics?t=90613b6c7f8"
NSUrl *webcal = [NSURL URLWithString:link];
[[UIApplication sharedApplication] openURL:webcal];
Safari会在您的日历应用中为您同步它。
答案 1 :(得分:0)
您可以将NSURL fileURLWithPath
与URL字符串一起用作参数,尽管它需要文件路径。将其更改为NSURL URLWithString
。
答案 2 :(得分:0)
@Bartłomiej Semańczyk 正在添加一个日历,如果你想添加一个事件,你可以使用 SFSafariController 打开 url
let link = "https://www.apple.com/v/apple-events/home/p/built/assets/event.ics?d=3213214324313"
let url = URL(string: link)!
let safariVC = SFSafariViewController(url: url)
present(safariVC, animated: true, completion: nil)