iOS 微信会拦截你在微信 App 内的截图,在使用微信快捷发送图片功能时候需要额外注意

2021-11-01 07:31:58 +08:00
 elfive

今天在微信小程序里帮朋友测试东西的时候,需要我截图给他,截图中包含了我的个人信息,所以在截图后,我直接编辑图片( iOS 截图后自带的编辑界面,不是微信图片编辑界面)将部分信息去除(下图为示例,注意我把文件传输助手那几个字裁剪了)


编辑完成后,进入聊天会话界面,一般来说点击➕号后会直接在➕号上面快捷显示这个图片以快速发送,如图:


这个时候我没注意,因为当时只是裁剪了图片,那个快捷图片几乎看不出来区别。所以直接点了这个快捷图片就发出去了,然而一看,发出去的却是没经过编辑的原截图,注意看文件传输助手那几个字


这个时候我去检查微信选择图片的界面,发现这张截图并没有出现在选择列表中


我没记错的话,之前的微信,截图后图片是会在这个列表中出现的,猜想是微信实际上是通过某些系统 API 获得了这个图片的原始内容,然后直接拿来就用了。虽然这个 API 只能获取到微信在前台时候截图的内容,但起码我们在使用快捷发送这个功能的时候要尤其注意。

4042 次点击
所在节点    Apple
45 条回复
elfive
2021-11-01 07:34:29 +08:00
发错节点了……骂人的话我就不说了。
个人的价值观都那么难以转变,何况是这么大体量的一个公司。尽量不用才是我们应该做的。
wd
2021-11-01 07:43:37 +08:00
不明白这里怎么就和价值观有关系了,你也说了微信可能只获取到截图的原图了啊?微信自己难道不想准确点么....
botshawn
2021-11-01 07:46:11 +08:00
虽然我是真的不想用微信,但是目前感觉国内的聊天软件只谈聊天功能和界面舒适程度的话,微信确实还不错……
morize
2021-11-01 07:46:43 +08:00
这个现象我也观察到了。虽然张小聋没 x ,但微信也真是挺难做的,不开相册权限还想快速截图,那当然只能 app 内自己处理了,应该是用了检测截图的什么 api ,但只能拿到当下的图片。所以发的只能是原图。
whasyt
2021-11-01 07:50:37 +08:00
亲测可复现
lucifer9
2021-11-01 07:52:23 +08:00
正常操作,这里编辑完成以后是直接右上角点分享,然后选择微信好友
elfive
2021-11-01 07:53:33 +08:00
@wd #2 所以他就不考虑我为什么要编辑图片的逻辑?我因为用这个功能把一些信息泄漏出去也是他们能接受的吗?我记得以前的截图是会直接出现在图片选择列表里面,而且是编辑之后的图片。现在改成这样还不算?
ccvzz
2021-11-01 07:54:42 +08:00
如果你截图的时候正在打视频电话 你还会发现快捷图片上的视频悬浮窗是黑的(存到相册的悬浮窗是有画面的
elfive
2021-11-01 07:54:55 +08:00
@lucifer9 #6 我大多数情况会这么做,主要是微信确实能获取到你不想分享出去的东西。
allenchen10
2021-11-01 08:08:27 +08:00
@elfive 一部分用户(包括我)不会给微信读取系统相册的权限,微信为了实现截图之后快捷发送的功能,只能调用某个 API 在应用内截一张图,你对于系统截图的修改没有反映到微信内截图是符合逻辑的,不然相当于微信未经允许读取了系统相册。
elfive
2021-11-01 08:11:52 +08:00
@allenchen10 #10 是的,是你这个说法,程序逻辑没错,主要是间接实现了未经授权获取到了相册图片的读取权限,即使只能在非常有限的范围内的图片。
eternityz
2021-11-01 08:17:47 +08:00
这个功能不需要相册权限,只需要监听 UIApplication.userDidTakeScreenshotNotification 事件,再对 keyWindow 截图就可以。也因此获取不到用户编辑后的截图,只能发送原图,而且不包含系统状态栏。(这种功能完全没有必要)
Leonard
2021-11-01 09:17:59 +08:00
在哪个 App 内截图,这个 App 就可以获取到截图的,不需要权限,而且没状态栏
jch
2021-11-01 09:19:30 +08:00
@eternityz 说得对,这是微信自己做的 window 截图,跟相册没关系
damnu
2021-11-01 09:28:11 +08:00
正常操作应该是截图编辑完点分享选择 wx 或复制,微信粘贴。
yangluhui
2021-11-01 09:37:55 +08:00
为了快速发图做的,监听截图事件,自己在微信内生成当前界面截图,由于只生成了微信本身的内容,所以并没有状态栏,状态栏是空的
xingyuc
2021-11-01 10:34:01 +08:00
越用 telegram 就越觉得 nb ,IM 的天花板不过分吧
hingle
2021-11-01 10:41:24 +08:00
就是这样的啊,你可以把微信放前台,然后在锁屏页面截图

聊天页面也会有提示框,发送出去是微信的页面截图,而不是锁屏页面。
hingle
2021-11-01 10:43:15 +08:00
@hingle 复现不了了,记得以前我试过是可以的
yangzzzzzz
2021-11-01 10:54:31 +08:00
我记得苹果有个 bug 编辑图片保存后发现没编辑。不知道修复了没

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

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

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

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

© 2021 V2EX