知乎日报更新了,支持分享到Evernote,但...!

2013-06-20 10:36:18 +08:00
 shao
但,这算是偷懒吧(如图),正文内容呢?不能就这样一个简单的连接吧。
我之前用“邮件”方式分享,然后发给自己的evernote邮件,也能达到这样的效果。

期待真正的分享到evernote功能实现(标题、正文全文、图片保存至evernote)。

感谢 @clowwindy

知乎日报.app 已经为我每日睡前读物了。

7290 次点击
所在节点    分享发现
36 条回复
olnyshe
2013-06-20 10:44:46 +08:00
我也经常看.... 我想知道看到好的回答怎么保存下来.... - -
csx163
2013-06-20 10:51:40 +08:00
要新权限了啊,手机通话权限是什么来的
offspring
2013-06-20 11:09:36 +08:00
应该肯定可以做到 故意做成这样的 为了回答的版权和自身利益吧
taresky
2013-06-20 11:16:02 +08:00
竟然做成这样…… 有任何意义吗?

全文保存得打开特定答案的分享链接添加到pocket,真的很麻烦!
clowwindy
2013-06-20 13:18:20 +08:00
这个版本是 10 号提交的……因为 Evernote 要用自己的私有格式,不支持直接把 HTML 塞给他,两周时间来不及做这个转换了。
Yang_NH
2013-06-20 13:22:03 +08:00
查看原文是否能直接打开知乎app而不通过网页?
shao
2013-06-20 13:39:20 +08:00
@Yang_NH 不能。这问题我上次问过了。

@clowwindy 嗯,期待下一版本。

支持知乎日报!
Xe0n0
2013-06-20 14:31:37 +08:00
@clowwindy 如果不使用 Evernote Web API,而是用 SDK 中提供的调用 Evernote for iOS 的方式是可以直接存 HTML 的。
clowwindy
2013-06-20 14:34:08 +08:00
@Xe0n0

如何存?EDAMNote 的 content 只能是合法的 ENML
Xe0n0
2013-06-20 15:04:32 +08:00
@clowwindy

有个方法可以这样用:
[[EvernoteNoteStore noteStore] saveNewNoteToEvernoteApp:note withType:@"text/html"];

最终会调用 [[UIApplication sharedApplication] openURL:] 方法,HTML 当作 URL 的内容传给 Evernote for iOS 。

Evernote iOS SDK sample project 里完整代码是这样的:


if([[EvernoteSession sharedSession] isEvernoteInstalled]) {
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"evernote_logo_4c-sm" ofType:@"png"];
NSData *myFileData = [NSData dataWithContentsOfFile:filePath];
NSData *dataHash = [myFileData enmd5];
EDAMData *edamData = [[EDAMData alloc] initWithBodyHash:dataHash size:myFileData.length body:myFileData];
EDAMResource* resource = [[EDAMResource alloc] initWithGuid:nil noteGuid:nil data:edamData mime:@"image/png" width:0 height:0 duration:0 active:0 recognition:0 attributes:nil updateSequenceNum:0 alternateData:nil];
NSMutableArray *resources = [NSMutableArray arrayWithObjects:resource,resource, nil];
NSMutableArray *tagNames = [NSMutableArray arrayWithObjects:@"evernote",@"sdk", nil];
EDAMNote* note = [[EDAMNote alloc] initWithGuid:nil title:@"Test Note - Evernote SDK" content:@"<strong>Here is my new HTML note</strong>" contentHash:nil contentLength:0 created:0 updated:0 deleted:0 active:YES updateSequenceNum:0 notebookGuid:nil tagGuids:nil resources:resources attributes:nil tagNames:tagNames];
[[EvernoteSession sharedSession] setDelegate:self];
[[EvernoteNoteStore noteStore] saveNewNoteToEvernoteApp:note withType:@"text/html"];
}
else {
[self installEvernote:self];
}

如果没有安装 Evernote for iOS 会打开一个类 App Store 界面提示安装,也还算方便。
clowwindy
2013-06-20 17:06:05 +08:00
@Xe0n0 感谢。这样就是还不能做到不跳转直接分享 HTML。

综合考虑,改成如果安装了 Evernote App,跳到 App 里分享 HTML,如果没装,直接分享纯文本的全文。
另外邮件也改为分享 HTML,这样也可以通过邮件分享给别的服务了。
so898
2013-06-20 17:38:44 +08:00
@clowwindy
你们这个项目是不是使用了https://github.com/rnapier/RNCachingURLProtocol 这个来做本地缓存啊?
能提供一下不使用CoreData的原因么?
再一个就是如果有使用以上项目的话,不知道有没有在软件中注明使用开源项目的计划?
lc87624
2013-06-21 14:18:34 +08:00
@taresky 你说的是知乎的客户端么?我用知乎日报的android客户端可以直接把文章内容分享到pocket上
isayme
2013-06-21 14:32:30 +08:00
为什么没有网页版。。。。
clowwindy
2013-06-21 19:42:14 +08:00
@so898 是的。至于为什么不用 Core Data……因为它不但不能解决我们需要解决的问题,还制造了一堆别的问题。

@shao @offspring @taresky
已经提交了,开始等苹果审核。可以用邮件分享全文到 Pocket。
旧版可以点分享,复制链接,然后打开 Pocket,下面出现一个绿色的 Add,点一下,就好了。

@shao
iOS7 上跨应用分享都挂了,微信和 Evernote 跳转过去后都什么也没有发生。如果你还没降回 iOS6,可以先用发邮件给 Evernote 来分享全文……
so898
2013-06-21 19:51:21 +08:00
@clowwindy
好吧,感觉现在cache文件夹里面乱乱的……
话说你有计划注明使用的开源项目么?
再一个就是请问一下,我觉得知道RNCachingURLProtocol这个的人挺少的,不知道你们是怎么样选中这个项目的?
有点冒昧……因为我真的第一次看到有人用……
keakon
2013-06-21 20:06:31 +08:00
@so898 因为搜了一堆资料,发现就这个能劫持所有请求。
clowwindy
2013-06-21 20:25:57 +08:00
@so898 因为产品现在还没设计关于界面,以后会加上。

当时来不及修改 API 改成图片本地化方案,就尝试了几个能做全局缓存的库,唯一能满足需求的就是这种 hack protocol 的方法。把它的逻辑稍微改了一下就能 work 了。

不过这个库有两个问题,不会自动清理缓存,把所有 post 请求变成了 get 请求。这两个问题我 fix 了,其中第二个给作者发过 PR。

以后应该会改成应用层的缓存管理,也就是资源本地化,不让 webview 自己去下载,不用这种系统 hack 了。

时间紧,设计经常反复,代码写的糙,时常自己都看不下去。
so898
2013-06-21 20:32:01 +08:00
@clowwindy
每次都是拖页面然后CoreText的给跪了……
UIWebView真心不好用……或者说可以用的部分太少了……唉……

原来你也改了不少东西啊……这货我用着就是残的……ORZ……
shao
2013-06-21 20:37:48 +08:00
@clowwindy 我用了1天,就回归iOS6了。

期待下一版的知乎日报,赞!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/72967

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX