Evernote API:如何使用纯ENML而非纯文本

时间:2015-09-29 21:25:54

标签: ios swift api evernote

我正在尝试将笔记的内容设置为原始ENML,但是当我上传笔记然后查看沙盒Web应用程序中的笔记时,看起来它只是将ENML视为纯文本。如何使用原始ENML上传注释,以便我可以使用ENML中的所有功能?这是Swift代码:

let note: ENNote = ENNote()
note.title = title


let testEmlString: String =
    "<?xml version=\'1.0\' encoding=\'utf-8'?>" +
    "<!DOCTYPE en-note SYSTEM\"http://xml.evernote.com/pub/enml2.dtd\">" +
    "<en-note>" +
      "<div><br /></div>" +
      "<div>" +
        "<span style=\"font-size: 18px;\">" +
          "<b>Hello World</b>" +
        "</span>" +
      "</div>" +
      "<div><br /></div>" +
   "</en-note>"

note.content = ENNoteContent(string: testEmlString)

ENSession.sharedSession().uploadNote(note, notebook: nil, completion: { noteRef, error in
 if error == nil {
      print("Note upload OK")
 } else {
      print("Upload note error: \(error)")
 }
})

我在另一篇文章中读到,如果我在Bridging-Header.h文件中导入高级标题,那么ENNoteContent类有一个额外的构造函数:

#import <ENSDK/ENSDK.h>
#import <ENSDK/Advanced/ENSDKAdvanced.h>

但是这会导致编译时错误:ENSDKAdvanced.h说:

ENSDK.h file not found

希望有人可以提供帮助。 感谢

1 个答案:

答案 0 :(得分:0)

我有同样的问题。

按如下所示更改ENSDK导入链接

From "ENSDK.h" to <ENSDK/ENSDK.h>

这需要在这些文件中进行更改:

  • ENSDKAdvanced.h
  • ENNoteStoreClient.h
  • ENSDKPrivate.h

就是这样!