如何在 iOS 中从 Evernote 笔记中获取文本
Posted
技术标签:
【中文标题】如何在 iOS 中从 Evernote 笔记中获取文本【英文标题】:How to get Text from a Evernote note in iOS 【发布时间】:2017-06-26 06:01:35 【问题描述】:我正在尝试在我的 ios 应用程序中仅下载 Evernote 的 笔记的图像和文本(可能是 html 字符串)。我已经成功地从笔记中下载了图像。但是我没有找到任何方法或过程可以帮助我获取写在笔记上的文本。我用过了 ENSDK.framework
-(void)findAllNotes
NSLog(@"finding all notes..");
[self.session findNotesWithSearch:nil
inNotebook:nil
orScope:ENSessionSearchScopeAll
sortOrder:ENSessionSortOrderNormal
maxResults:255
completion:^(NSArray* findNotesResults,
NSError* findNotesError)
if (findNotesError)
[self.session unauthenticate];
NSAssert(NO, @"Could not find notes with error %@", findNotesError);
else
[self processFindNotesResults:findNotesResults];
];
- (void)processFindNotesResults:(NSArray*)results
NSParameterAssert(results);
NSLog(@"processing find notes results..");
for (ENSessionFindNotesResult* result in results)
[self.session downloadNote:result.noteRef
progress:NULL
completion:^(ENNote* note,
NSError* downloadNoteError)
NSAssert(!downloadNoteError, @"Could not download note with error %@",
downloadNoteError);
[self getDataFromNote:note];
];
-(void)getDataFromNote:(ENNote*)note
for (ENResource* resource in note.resources)
if ([resource.mimeType hasPrefix:@"image"])
UIImage* image = [[UIImage alloc] initWithData:resource.data];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *docs = [paths objectAtIndex:0];
NSString* path = [docs stringByAppendingFormat:@"/image1.jpg"];
NSData* imageData = [NSData dataWithData:UIImageJPEGRepresentation(image, .8)];
NSError *writeError = nil;
if(![imageData writeToFile:path options:NSDataWritingAtomic error:&writeError])
NSLog(@"%@: Error saving image: %@", [self class], [writeError localizedDescription]);
【问题讨论】:
【参考方案1】:注释的内容在变量note
的content
属性中可供您使用;即它位于 ENNote
对象的 content
属性中。
另外请注意,除了直接访问内容之外,Evernote iOS SDK 还提供includes a special method,这使得在UIWebView
中显示笔记的内容变得容易:
我们让这变得简单——我们没有将其序列化为 HTML 并处理附加的图像资源,而是提供了一种从便笺生成单个 Safari“网络存档”的方法;这是一个绑定的数据类型,UIWebView 本身就知道如何直接加载。
【讨论】:
以上是关于如何在 iOS 中从 Evernote 笔记中获取文本的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 Evernote iOS SDK 中将笔记转换为 HTML 文件