V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CS666
V2EX  ›  Apple

不知道 ios16 能不能做个禁止粘贴复制板的功能选项,让用户自己选择

  •  
  •   CS666 · 2022-04-14 10:18:47 +08:00 · 5895 次点击
    这是一个创建于 973 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在粘贴复制个东西,去哪个 app 也自动读取复制下,就给你个提醒,xxx 复制读取了你粘贴板的内容,嚣张及了,甚至还读取好几遍,安卓的小米和魅族好像能让用户自己选择是否同意复制,希望 ios16 也能加上这个功能,更能保护用户隐私

    45 条回复    2022-04-16 22:30:27 +08:00
    Mitt
        1
    Mitt  
       2022-04-14 10:24:07 +08:00
    苹果是更倾向于让开发者适配只读取自己需要的剪切板内容以及提供开关的,所以大概率不会全局添加这个选项,而且现在 iOS 权限已经赶上安卓了,但因为全是动态申请的,比安卓安装的时候一次性提供体验要差很多,所以我觉得首要问题是先优化下权限申请步骤
    finab
        2
    finab  
       2022-04-14 10:24:13 +08:00   ❤️ 1
    可以先用快捷指令避免一下

    自动化->打开 APP->选取 APP->复制空内容到剪贴板
    DTCPSS
        3
    DTCPSS  
       2022-04-14 10:26:25 +08:00   ❤️ 3
    我是把 “敲击两下 iPhone 背面” 绑定到 “复制空内容到剪贴板” 这个捷径
    CS666
        4
    CS666  
    OP
       2022-04-14 10:49:21 +08:00
    @DTCPSS 以前设置的敲两下是跳转健康码,后来因为太容易误操作了就关了,感觉有时特灵敏有时又不好使
    CS666
        5
    CS666  
    OP
       2022-04-14 10:49:58 +08:00
    @DTCPSS 能麻烦分享下这个捷径吗
    CS666
        6
    CS666  
    OP
       2022-04-14 10:50:44 +08:00
    @Mitt 这方面我还是喜欢安卓的简单粗暴哈哈
    icyalala
        7
    icyalala  
       2022-04-14 10:51:08 +08:00   ❤️ 2
    我觉得首先应该解决 keychain 的问题,但是无论如何设备指纹都还会继续存在。。

    另外个人不太认同 @Mitt 的想法。一次性申请权限时,你根本不知道这个权限到底对自己有没有用,因为你无法确认使用场景。当遇到使用场景时在申请,无疑能让用户有更准确判断,也避免 "一次性申请" 选择带来的心智负担。
    paradoxs
        8
    paradoxs  
       2022-04-14 10:54:32 +08:00
    iOS 最大的问题
    keychian

    第二大问题
    前后摄像头权限不区分
    DTCPSS
        9
    DTCPSS  
       2022-04-14 10:57:38 +08:00
    vaf714172
        10
    vaf714172  
       2022-04-14 11:01:12 +08:00
    @Mitt 申请权限步骤个人认为 ios 更合理,只有用到的时候,它才会提示我要权限,起码我知道它要这个权限干嘛。在安装或者第一次打开的时候,我还没用过这个软件,仅靠几行字描述,无从判断是否应该给他权限,并且也很难保证应用不滥用这个权限
    Mitt
        11
    Mitt  
       2022-04-14 11:02:12 +08:00
    @icyalala #7 只能说理想和现实差距吧,你可以看到很多包括国外的软件都会在软件第一次启动的时候就会尝试跟你索要它所需要的全部权限,国外的软件做的好点的会给你讲为啥需要这个权限,国内干脆就直接弹,而且很多权限确实是“必须”的,安卓是可以安装的时候索要基础必须的权限以及动态申请可选的权限,我觉得现在权限控制越来越细化的情况下很多权限确实是可以第一次安装就一次性列清楚的,不然你第一次打开软件连着给你弹一大堆权限申请,你难道知道自己需不需要吗,而且连着点经常误点拒绝还得去重新开一下权限,反而负担更重
    xmai
        12
    xmai  
       2022-04-14 11:13:40 +08:00
    或许看看这个项目 https://github.com/rileytestut/Clip, "Clip is a clipboard manager for iOS that can monitor your clipboard indefinitely in the background — no jailbreak required."
    0o0O0o0O0o
        13
    0o0O0o0O0o  
       2022-04-14 11:33:34 +08:00 via iPhone
    其实旧版本的 iOS 用这个方案就足够,但感谢 Apple 的奇妙更新,失效了。

    /t/836686
    Building
        14
    Building  
       2022-04-14 11:44:04 +08:00 via iPhone
    @Mitt iOS 权限已经赶上安卓了???一次性申请明显是缺陷,上个世纪的开发思路,因为安卓本来对标的是诺基亚,iOS 理念就是比安卓先进,用到再申请明明是正确的做法,万一用户中途关掉了怎么办? App 白屏不给用吗?
    kera0a
        15
    kera0a  
       2022-04-14 11:53:59 +08:00
    @icyalala 我并不觉得 keychain 是个大问题,keychain 写入的数据不能共享, 应用间不能通过 keychain 互相跟踪就行。

    至于卸载重装识别为同一台设备我认为不是大问题
    Mitt
        16
    Mitt  
       2022-04-14 11:54:14 +08:00
    @Building #14 权限数量赶上安卓了,我觉得如果觉得用时申请先进,那还是考虑下每个软件安装特别是手机权限重置 /迁移手机后,每个软件打开屏幕点不完的权限申请的场景,一两个可能还看看,三四个以上就开始无脑允许 /拒绝了,哪里先进?特别是国行还多了个无线数据(WIFI),我觉得权限进一步细化是必要的,就必然会带来更多的体验上的问题,本来就需要改进
    icyalala
        17
    icyalala  
       2022-04-14 12:11:23 +08:00
    @Mitt 正常 App 启动无非就是 Push 权限和国行那个网络权限。
    icyalala
        18
    icyalala  
       2022-04-14 12:15:33 +08:00
    @kera0a keychain 可以存储数据,卸载重装也仍然在,广告 SDK 可以利用这个特性可以轻松持续追踪,如果多个 App 使用同一家 SDK 那就可以在应用间相互追踪了。就是说,对于普通用户来讲,只有重置设备这一个方法能清除 keychain 。

    设备指纹是另一个问题,只要 keychain 还在,那普通用户就逃脱不了追踪。
    kera0a
        19
    kera0a  
       2022-04-14 12:21:24 +08:00
    @icyalala 你可能有误解 ,广告 SDK 是没办法利用 keychain 来跟踪的

    keychain 是一个存储沙盒,每个 APP 都能往里面写数据,但不能共享,所以不能追踪
    A 应用往里写了一个标识符 ,B 应用是拿不到这个标识符的,应用只能读自己写的数据
    icyalala
        20
    icyalala  
       2022-04-14 12:34:50 +08:00
    @kera0a 你可能不了广告 SDK 。。用 scheme 也好、local socket 也好,都能进行通信,当然更广泛的是设备指纹,传到服务器做召回,把结果 id 写到 keychain 。设备指纹即使没有 keychain 也能做,但是有 keychain 实现更容易和精确。
    0o0O0o0O0o
        21
    0o0O0o0O0o  
       2022-04-14 12:37:03 +08:00 via iPhone
    @kera0a #19 好像不准确

    > Keychain items can be shared only between apps from the same developer
    dingwen07
        22
    dingwen07  
       2022-04-14 12:39:03 +08:00 via Android
    @Mitt #1 安卓也是动态申请啊
    当然 iOS 做得更彻底,不申请直接不显示,但是这个机制会导致很多 bug
    kera0a
        23
    kera0a  
       2022-04-14 12:44:00 +08:00
    @0o0O0o0O0o 是的,同一开发者账号下可以共享,但我上面主要说的是不同开发商之间不能共享

    @icyalala 广告 SDK 通过其他什么方式跟踪就不在我讨论的范围了
    我的意思是 keychain 肯定不参与,如果不涉及卸载重装,keychain 就和普通沙盒目录写文件一样,如果 keychain 可以跟踪,那不用 keychain 也可以。
    Zeonjl
        24
    Zeonjl  
       2022-04-14 13:09:54 +08:00 via iPhone
    去官方提建议,
    Mitt
        25
    Mitt  
       2022-04-14 13:38:31 +08:00
    @dingwen07 #22 我知道啊,我是说一次性申请+动态申请,又不是全改成一次性申请,主要是很多 APP 第一次打开就每个权限都“动态申请”一遍,还不如安装的时候就一次性打个列表勾选
    icyalala
        26
    icyalala  
       2022-04-14 13:43:25 +08:00
    @kera0a "可以不可以" 和 "准确不准确" 是两个问题。不用 keychain 可以做追踪,但远远达不到有 keychain 的准确性,难度也会更高。追踪设备的话,卸载重装是必须会涉及的。

    而且,实际上现有很多 SDK 技术文章就表明了用 keychain 存储 id 做追踪,比如
    https://zhuanlan.zhihu.com/p/368532931
    kera0a
        27
    kera0a  
       2022-04-14 13:58:49 +08:00
    @icyalala
    keychain 肯定是存了 ID 的,或许通过其他方式,是可能间接关联到了不同 APP 的 ID ,但就算没有 keychain ,他存在沙盒目录的 ID 也是一样的效果。也就是你只简单的让苹果加上重置 keychain 是治标不治本的,重置了 keychain 沙盒目录里还有呢,总不可能每天定时卸载手机 APP 吧?

    另外你给的链接里,存在 keychain 里的这个 ID 也不是用于跨应用跟踪的, 只是很常用的应用生成设备 ID 的方式,想用这个 ID 去跟踪,前提是已经有其他方式已经跟踪到了,然后再互相关联。
    icyalala
        28
    icyalala  
       2022-04-14 14:22:47 +08:00
    @kera0a "卸载重装" 是一个代价较低的操作,可以多次发生,"重置设备数据" 是代价极高的操作。
    苹果只需要加上 "删除时附带清理 keychain" 并提醒用户默认打开就足够了。

    如果没有 keychain 只有 Documents ,那 App 就不存在一个 "对普通用户各种操作而言可靠的存储方式",那广告追踪的一切都要改掉。就像之前的 IDFA 一样,即使 IDFA 在 "技术上" 也可以被用户轻易重置,但因为 "实际上" 用户很少重置,得到的结果就是大家还在继续用。它只要存在在那儿,就是一个追踪途径。只有全部路径都不可用,避免追踪才能在实际意义起效。

    如果很多 App 用了同一个 SDK ,那每个 App 就可以用 keychain 持续追踪设备、然后在服务端得到关联,直到所有用了这个 SDK 的 App 都删掉。你如果还继续坚持 "有没有 keychain 也一样" 那就没什么可说的了...
    kera0a
        29
    kera0a  
       2022-04-14 14:31:56 +08:00   ❤️ 1
    @icyalala 我只是觉得你搞错因果了,如果你被跨应用跟踪了,并不是由于 keychain 提供了什么跟踪能力
    是因为你被其他方式成功跟踪后,把“跟踪结果”落实到了 keychain 。 就算没有 keychain ,“跟踪结果”放到沙盒是一样的,你还是被跟中状态。
    还有就是,就算其他 APP 都被互相跟踪成功, 新下载的 APP ,也需要先由那个“因”跟踪,而不是“用 keychain 持续追踪设备”。

    讨论到此为止吧,这只是我的观点,观点不一样很正常的, 我最初也只是对添加重置 keychain 功能的作用质疑
    jim9606
        30
    jim9606  
       2022-04-14 14:35:02 +08:00
    你其实说不清楚预先申请和需要时申请哪种更好。
    我自己懂行的希望尽量用运行时权限来追求细粒度控制,但给亲戚弄的时候我不得不预先帮他设好权限并关掉 android12 开始出现的“自动移除权限”,因为他根本不了解授权的含义,大部分手机操作图文教程又不会看到教怎么进行授权的。
    另外针对一些特殊权限,因为 Android 有意将这些权限的授权步骤做得比较繁琐(不鼓励 APP 申请这些权限),运行时授权会麻烦不少,例如在接微信电话时授权“在其他应用上方显示”。
    icyalala
        31
    icyalala  
       2022-04-14 14:52:07 +08:00
    @kera0a 因果关系是 "因为存在 keychain 这个能力,所以才会被用于跟踪"。
    首次安装可能会复杂些,但一旦初始化过,那再怎么删除重装或其他普通操作,keychain 都会保证 App 内可持续、准确追踪。而跨 App 追踪的持续性和准确性,也是要依赖前者的。
    如果 keychain 没有这个能力,只用沙盒文件,是做不到目前的准确性的。这倒不是 opinion ,算是 fact 吧。
    seansong
        32
    seansong  
       2022-04-14 15:43:01 +08:00
    @Mitt

    很久没重新安装过常用 app 了,不太清楚常用 app 是否一启动就申请一堆权限,倒确实碰到过个别傻缺 app 一启动弹出一堆权限申请,一般我都是直接切回桌面,然后卸载这个 app 就得了,图一个清净。

    安装时候就设置好权限,应该就只适合发烧友吧,毕竟普通人要在安装的时候就有耐心的一个一个去把权限申请看一遍,并且考虑完,这有点强人所难了,大大增加了 app 安装过程的复杂性和速度,反正我是没有这个耐心的
    Mitt
        33
    Mitt  
       2022-04-14 15:57:46 +08:00
    @seansong #32 我觉得你没懂我意思,你说的 “一个一个去把权限申请看一遍,并且考虑完,这有点强人所难” 这个问题现在就有,区别是一个是点一个弹一个,一个是列出来一次性看完,而且因为 APP 自己弹出速度不同,还会产生误点的情况,就是进了引导界面了我本来是要点下一步的,结果弹出来权限申请刚好挡住那个按钮我点了拒绝 /允许,然后我还得自己去设置里找到 APP 去关掉 /开启那个索要的权限,导致每次我安装完第一次打开 APP 都会等一会看它会不会弹出权限申请,反而对我来说已经有心智负担了
    cjpjxjx
        34
    cjpjxjx  
       2022-04-14 16:04:45 +08:00
    我是希望能做到用户主动粘贴时应用才能获取剪切板内容,在用户没有主动粘贴的情况下应用无法主动获取剪切板内容
    653513754
        35
    653513754  
       2022-04-14 16:20:59 +08:00
    @icyalala 不要纠结于被追踪的问题了,明确的告诉你,就算你清除 keychain,重置刷机,一样可以追踪到唯一设备指纹
    icyalala
        36
    icyalala  
       2022-04-14 16:32:55 +08:00
    @653513754 我第一条回复就说了设备指纹的问题。设备指纹的核心目的风控、黑产防刷,这个东西是有召回率的,不是完全准确的。而 keychain 是给业务用的,这个才是足够准确用来做业务的,因为大部分用户不会进行黑产操作。你要搞清楚这个区别。
    SimleCp
        37
    SimleCp  
       2022-04-14 16:45:28 +08:00
    是的, 我也希望加个权限控制, 我烦恼的点, 是那个弹框很烦, 而且有的 app 根本不需要剪切板的内容.
    irobbin
        38
    irobbin  
       2022-04-14 17:21:43 +08:00
    @icyalala keychain 并不是毫无用处的好吗。

    没有自带服务器的 app 进行应用内购买,比如某个皮肤,需要把权益存储到 keychain ,下次 app 被删除再安装的时候就可以找回,而不是重复购买。

    另外内购不成功的时候,我们一般也会把购买信息存储到 keychain ,下次 app 重新安装的时候可以找回信息,而不是让用户去退款(这设计到开发细节了)
    nznd
        39
    nznd  
       2022-04-14 20:32:49 +08:00
    可以用自动化设置退出指定 app 的时候清空剪贴板,挺好用的,就是有些需要用口令跳转会失效
    FreshOldMan
        40
    FreshOldMan  
       2022-04-14 21:57:02 +08:00
    @Mitt 正常 ios 一般是用到才会申请,你这种一开机就获取一堆权限的情况是不存在的,除非那种二流 App ,把申请权限卸载启动页
    icyalala
        41
    icyalala  
       2022-04-14 23:31:47 +08:00
    @irobbin 作为开发者我当然明白 keychain 的好处,我所在的公司现在就用 keychain 存储账户信息,还有 keychain group 做子业务 App 相互授权登录。但是从用户角度来看就相反了,我想抹掉这个账户信息就没有什么好的手段。

    之前某个 beta 版苹果尝试改过,我那时理解错了认为只是 bug ,后来根据苹果员工说明才知道苹果那次是明确尝试想要改掉,且文档里从未提过 "删除 App 仍旧保留" 的特性,但后来碍于各种问题,最终没改,一直拖到现在。
    seansong
        42
    seansong  
       2022-04-14 23:43:34 +08:00
    @Mitt 如果是你说的这个问题,弹窗遮挡之类的,这种垃圾 app ,不要装也罢
    vmebeh
        43
    vmebeh  
       2022-04-15 01:15:54 +08:00 via iPhone
    可以给一些喜欢读剪切版的 App 做个打开捷径放桌面,图标用 App 的商店图标截图,会自动切圆角

    捷径第一条复制一些问候语到剪切版
    第二条打开 App


    图省事也可以把第二条做成选单,这样多个 App 一个捷径启动
    shinsekai
        44
    shinsekai  
       2022-04-15 17:11:15 +08:00 via Android
    @kera0a keychain 好像可以 iCloud 同步到 Mac 删除后再同步回去?
    hkezh
        45
    hkezh  
       2022-04-16 22:30:27 +08:00 via iPhone
    魅族可以给每个 app 读取剪贴板 三种权限:始终允许,自动允许,拒绝。毕竟合理
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3531 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:56 · PVG 08:56 · LAX 16:56 · JFK 19:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.