【问题标题】:How can I create iCal events and download/export event in .ics file in swift. I want file in Files in my iPhone如何在 .ics 文件中快速创建 iCal 事件和下载/导出事件。我想要在我的 iPhone 文件中的文件
【发布时间】:2021-06-30 08:35:54
【问题描述】:

我尝试根据从 api 响应中获取的详细信息创建一个事件,但失败了,我希望将在 swift 中创建的事件写入 .ics 文件,然后导出到我的 iPhone 中的文件。我创建了文本文件并成功在其中添加了文本,但未能将添加的文本添加到 .ics 文件(添加了代码) 所以我的问题是如何创建一个可编辑的 .ics 文件,然后如何创建一个 iCal 事件,然后如何在 .ics 文件中写入该事件的详细信息,然后如何在 iPhone 中的 Files 中导出该文件 如果有些东西引起混乱,请忽略,我的代码在这里!

if let fileURL = dir?.appendingPathComponent("my_iCsFile").appendingPathExtension("ics") {
   let dtstart = "This is strt date"
   let dtend = "this is end date"
   let location = "This is location"
   let summary = "This is summery"
   let outString: String = "dtstart:\(dtstart)\ndtend:\(dtend)\nlocation:\(location)\nsummery:\(summary)"
        do {
            try
               outString.write(to: fileURL, atomically: true, encoding: .utf8)
           } catch {
            print("Failed writing to URL: \(fileURL), Error: " + error.localizedDescription)
           }
      } 

我们将不胜感激任何 cede、帮助、链接或教程的示例。谢谢

【问题讨论】:

    标签: ios swift events file-io icalendar


    【解决方案1】:

    我在这里等待,并搜索了很多解决方案,我找到了以下内容,我只是传递了一些值,如开始/结束日期、名称/标题和摘要,这让我返回了应该写入的正确文本格式。 .ics 文件。文件保存过程与我的问题中提到的相同。 这是解决方案的链接:

    https://github.com/kiliankoe/iCalKit

    使用了有问题的目录。 dir 实际上是根目录的全局变量

    let dir = try? FileManager.default.url(for: .documentDirectory,
                                               in: .userDomainMask, appropriateFor: nil, create: true) 
    
    

    并且在文件导出函数中只是传递事件细节(不要忘记在项目中添加iCalKit库,编写和导出代码在这里

    if let fileURL = dir?.appendingPathComponent("my_iCsFile").appendingPathExtension("ics") {
      
       let outString: String  =  String here that generated by iCal event (iCalKit will make sure for us that the string is in iCalEvent format to write in .ics file)
            do {
                try
                   outString.write(to: fileURL, atomically: true, encoding: .utf8)
               } catch {
                print("Failed writing to URL: \(fileURL), Error: " + error.localizedDescription)
               }
          } 
    

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 2017-09-20
      • 2017-12-09
      • 1970-01-01
      • 2014-09-11
      • 2019-10-18
      • 2022-01-14
      • 2010-09-05
      • 1970-01-01
      相关资源
      最近更新 更多