我是Evernote SDK開發新手,正在使用Evernote推薦的evernote雲SDK 2.0。使用Evernote Cloud SDK 2.0將NSString從ENNoteContent中取出
但是,我無法從ENNoteContent對象中獲取NSString內容。我嘗試了以下從網上搜索,但似乎沒有與雲SDK,因爲我猜他們都是爲舊版本的印度軟件開發工具包...
1使用「convertENMLToHTML」方法。
根據this和this,我可以直接在ENNoteContent對象喜歡這個convertENMLToHTML:note.content
上調用convertENMLToHTML。但是,在雲SDK中,這導致ENMLUtility中的異常終止應用程序,因爲convertENMLToHTML期望NSString而不是ENNoteContent,並且此函數所做的第一件事是嘗試調用[enmlContent dataUsingEncoding:NSUTF8StringEncoding]]
,如果enmlContent是指向ENNoteContent但不是指向NSString的指針。
2試圖獲取_emml對象了ENNoteContent對象
這post有呼叫[note.content enml]
的報價,但是這又爲對象enml
沒有在接口中定義不與雲SDK工作。
有誰知道如何從ENNoteContent中獲取NSString?我希望這是一個非常簡單的過程,但是我很驚訝我無法找到適用於Cloud SDK的任何內容。
3使用generateWebArchiveData方法
低於每腰帶的回答,我也試圖使用generateWebArchiveData方法在例如從雲SDK。代碼我看起來像這樣:
[[ENSession sharedSession] downloadNote:result.noteRef progress:^(CGFloat progress) {
} completion:^(ENNote *note, NSError *downloadNoteError) {
if (note) {
NSLog(@"%@", note.title);
[note generateWebArchiveData:^(NSData *data) {
NSString* strContent = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"test content %@", strContent);
}];
} else {
NSLog(@"Error downloading note contents %@", downloadNoteError);
}
}];
但是,strContent輸出「空」的筆記,我已經驗證了合法的內容。
作爲一個臨時攻擊,我們在ENNoteContent.h中添加了@property (nonatomic, copy) NSString * emml;
,並且在ENNoteContent.m中刪除了相同的行以解決此問題。
謝謝腰帶。這是一個好主意,但不幸的是,我不認爲這是有效的。我將用這個測試更新主要問題。 –