我正在尝试在我的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]);
}
}
}
}
答案 0 :(得分:0)
您可以在变量content
的{{1}}属性中使用该记事的内容;即它位于note
对象的content
属性中。
另请注意,除了直接访问内容之外,Evernote iOS SDK还includes a special method可以在ENNote
中轻松显示便笺内容:
我们已经做到了这一点 - 而不是将其序列化为HTML并与附加的图像资源混淆,我们提供了一种从注释生成单个Safari“Web存档”的方法;这是一个捆绑的数据类型,UIWebView本身知道如何直接加载。