关于evernontesdk-ios使用的一些总结

新的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(_:)),打开印象笔记直接查看某条笔记

你可能感兴趣的:(关于evernontesdk-ios使用的一些总结)