废话不多说,直接开始印象笔记的共享吧。
在info.plist文件中配置scheme,item的值为 en-Evernote注册App的key,我的App的Consumer Key为valiant,因此我这里写的是en-valiant。
info配置.png
OK,废话不多说,直接撸代码。
pod导入。
pod 'EvernoteSDK', '~> 3.0'
注册
// 印象笔记
[ENSession setSharedSessionConsumerKey:@"valiant" consumerSecret:@"e4623f526044de60" optionalHost:ENSessionHostSandbox];
[[ENSession sharedSession] setValue:@"sandbox.evernote.com" forKey:@"sessionHost"];
共享开始
#import <EvernoteSDK/EvernoteSDK.h>
- (void)evernoteAction {
if ([ENSession sharedSession].isAuthenticated) {
[self evernoteUploadWithFilePath:[[NSBundle mainBundle] pathForResource:@"4" ofType:@"pdf"]];
}else {
// 测试URL,正式环境需要运营处理
[[ENSession sharedSession] setValue:@"sandbox.yinxiang.com" forKey:@"sessionHost"];
[[ENSession sharedSession] authenticateWithViewController:self preferRegistration:YES completion:^(NSError * _Nullable authenticateError) {
if (authenticateError) {
// 授权失败
if (authenticateError.code == ENErrorCodeCancelled) {
// 取消授权
}
}else {
// 授权成功
[self evernoteUploadWithFilePath:[[NSBundle mainBundle] pathForResource:@"4" ofType:@"pdf"]];
}
}];
}
}
共享文件
- (void)evernoteUploadWithFilePath:(NSString *)filePath {
ENNote *note = [ENNote new];
note.content = [ENNoteContent noteContentWithString:@"一个测试"];
note.title = @"我的PDF";
NSData *fileData = [[NSFileManager defaultManager] contentsAtPath:filePath];
ENResource *resource = [[ENResource alloc] initWithData:fileData mimeType:@"application/pdf"];
[note addResource:resource];
// [[ENSession sharedSession] setValue:@"sandbox.evernote.com" forKey:@"sessionHost"];
[[ENSession sharedSession] uploadNote:note notebook:nil completion:^(ENNoteRef * _Nullable noteRef, NSError * _Nullable uploadNoteError) {
NSLog(@"");
}];
}
是不是觉得很简单?没错,代码很简单,但是如果运营对这个不了解的话,你们一起找解决办法的时候,那种酸爽,简直无法形容。
江湖路远,我们……告辞!
网友评论