如何从iOS

时间:2017-02-08 14:44:39

标签: ios objective-c evernote evernote-app-notebook

我正在尝试在我的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 个答案:

答案 0 :(得分:0)

您可以在变量content的{​​{1}}属性中使用该记事的内容;即它位于note对象的content属性中。

另请注意,除了直接访问内容之外,Evernote iOS SDK还includes a special method可以在ENNote中轻松显示便笺内容:

  

我们已经做到了这一点 - 而不是将其序列化为HTML并与附加的图像资源混淆,我们提供了一种从注释生成单个Safari“Web存档”的方法;这是一个捆绑的数据类型,UIWebView本身知道如何直接加载。