新的evernontesdk地址点这里
evernontesdk涉及到的开发讨论比较少,因为最近需要,用了该sdk,主要查看方式主要看源码。
印象笔记几个关键类:
1、ENSession:主要以单例[ENSession sharedSession]出现,暴露常用的api接口。
2、ENNotebook:笔记本类,主要做的事是笔记本name等常用参数。
3、ENNote:笔记类,涉及单条笔记的参数。
4、EDAMNote:其实也是笔记类,不过是ENNote复杂版,可以用note = [note EDAMNote]组装出来。
5、ENNoteContent:笔记的具体内容,支持html标签格式。
6、ENNoteRef:单条笔记的信息类,它包含的参数主要是guid,唯一性,可以用这个类来跟印象笔记服务端来做一些对单条笔记操作的事情,比如下载某条笔记。
常用api:
注册
1、+ (void)setSharedSessionConsumerKey:(NSString*)key
consumerSecret:(NSString*)secret
optionalHost:(nullableNSString*)host,这个接口是用来注册印象笔记的,需要注册开发者的秘钥和秘密并申请激活。例如[ENSession setSharedSessionConsumerKey:kEvernoteConsumerKey
consumerSecret:kEvernoteConsumerSecret
optionalHost:nil],这个host支持ENSessionBootstrapServerBaseURLStringCN(大陆),ENSessionBootstrapServerBaseURLStringUS(美国,也就是evernote),凭自己需求填充,如果设置为nil,可以除了支持web授权,如果安装了印象笔记app,还能支持跨app授权。如果要支持app授权,需要在info.plist文件里设置好schema,并在- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation和- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options做好相应的[[ENSession sharedSession] handleOpenURL:url]调用处理。
授权
[ENSession sharedSession].isAuthenticated 检验是否已经授权
2、- (void)authenticateWithViewController:(UIViewController*)viewController
preferRegistration:(BOOL)preferRegistration
completion:(ENSessionAuthenticateCompletionHandler)completion,进行授权。
3、- (void)listNotebooksWithCompletion:(ENSessionListNotebooksCompletionHandler)completion,获取笔记本列表。
4、- (void)createNotebook:(EDAMNotebook*)notebook
completion:(void(^)(EDAMNotebook*_Nullablenotebook,NSError*_Nullableerror))completion,创建笔记本,自定义你的笔记本名称。
5、- (void)findNotesWithSearch:(nullableENNoteSearch*)noteSearch
inNotebook:(nullableENNotebook*)notebook
orScope:(ENSessionSearchScope)scope
sortOrder:(ENSessionSortOrder)sortOrder
maxResults:(NSUInteger)maxResults
completion:(ENSessionFindNotesCompletionHandler)completion,通过关键词查询已经存在的笔记,返回的ENNoteRef可以用来做下载等相关操作
6、- (void)downloadNote:(ENNoteRef*)noteRef
progress:(nullable ENSessionProgressHandler)progress
completion:(ENSessionDownloadNoteCompletionHandler)completionNS_SWIFT_NAME(download(_:progress:completion:)),下载某条笔记的内容和信息。
7、- (void)downloadThumbnailForNote:(ENNoteRef*)noteRef
maxDimension:(NSUInteger)maxDimension
completion:(ENSessionDownloadNoteThumbnailCompletionHandler)completion,下载某条笔记,返回是一个image。
8、- (BOOL)viewNoteInEvernote:(ENNoteRef*)noteRefNS_SWIFT_NAME(viewNoteInEvernote(_:)),打开印象笔记直接查看某条笔记