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

摇晃跳转的罪魁祸首之一: iOS 拦截 App 间跳转的对话框「A 想要打开 B」,一旦点「打开」,此后从 A app 到 B app 的跳转就再也不会弹出该拦截对话框。此设计不符合用户预期, iOS 至今没有改进。

  •  
  •   VisualStudioCode · 165 天前 · 4235 次点击
    这是一个创建于 165 天前的主题,其中的信息可能已经有所发展或是发生改变。
    全文在此(我写的): https://zhuanlan.zhihu.com/p/666290765
    我 V2EX 账号权限不够,发不了长文,所以选择发在知乎专栏。

    罪魁祸首之二应该是,苹果公司不提供陀螺仪权限的设定。
    第 1 条附言  ·  165 天前

    经大家提醒,我要勘误一下:

    1. 摇晃跳转的罪责不在苹果公司,而在App厂商;
    2. 「A想要打开B」的权限不可撤销,不符合程序员的预期(不是用户的预期)。从开发者的角度来讲,该权限应当是可以让用户调节控制的。
    3. 普通用户不需要管任何技术细节,只要系统好用就行。

    我发这贴其实是想讨论iOS跳转机制的,尤其是从浏览器类App发起的跳转(详见专栏文章)所以我不应该在标题前加上「罪魁祸首」之类的词,况且罪责也不在苹果公司。

    @Ga2en @Perry @luhe @interger

    第 2 条附言  ·  165 天前

    顺便讲一句,国外不是绝对没有,比如我专栏文章里提到的这个Stack Overflow提问

    第 3 条附言  ·  162 天前

    这个弹窗是个非常垃圾的弹窗:

    点「取消」就不执行跳转,但是如果用户要进行的操作,或者要办理的业务,必须要执行跳转的话,那就没办法了,只能点「打开」。但是点打开的话,这辈子就别想撤回权限了。

    59 条回复    2023-11-17 23:07:41 +08:00
    interger
        1
    interger  
       165 天前 via iPhone
    用屁股想一下,弹窗是只弹一次还是每次都弹哪个更符合预期,苹果作为服务提供者、数据收集方,谁判断的更准? 而且按之前的尿性,权限很快就会加上了。
    Ga2en
        2
    Ga2en  
       165 天前   ❤️ 4
    你思维还在硬件厂有责任给软件上擦屁股上。
    luhe
        3
    luhe  
       165 天前 via iPhone   ❤️ 3
    你当然可以建议苹果应该怎么做,但是罪魁祸首是摇一摇 app 的开发商……
    Perry
        4
    Perry  
       165 天前 via iPhone
    这东西你很难让生活在加州湾区的苹果程序员和你共情来加快进度防止这种现象,因为国外的网页和 App 几乎不会有这种情况。。。
    wclebb
        5
    wclebb  
       165 天前 via iPhone
    怪 App 滥用才是正确的说法。

    不是怪跳转的用户层面的体验
    也不是怪系统没做好隐私方面问题

    斗胆说,就算禁止了摇一摇的广告,它也会想尽办法在一些地方找到适合捞钱的办法。
    VisualStudioCode
        6
    VisualStudioCode  
    OP
       165 天前
    @wclebb 是的。见附言。
    nothingistrue
        7
    nothingistrue  
       165 天前
    你这个是很经典的默认打开方式问题,这玩意要管理起来不是一般的复杂,参见 Windows 上乱成一锅粥的默认打开方式。

    但更主要的,还是不想把控制权交给用户,参见微软,都被强制要求小组件的链接用默认浏览器而不是 Edge 打开,还是只给欧洲用户搞。罪魁祸首是操作系统,一点问题都没有。
    jiaslbang
        8
    jiaslbang  
       165 天前   ❤️ 5
    nerd 思维
    1.首次询问+同意后不再询问,设计思路没毛病,符合直觉
    2.提供了陀螺仪权限,你倒是会用,爽了,你爸妈叔伯爷奶会用吗?从陀螺仪科普入门到放弃?
    3.要根治问题,就要搞定制造问题的决策人(开发商),果子现在对决策人出手了,期待后续
    f2kandlove
        9
    f2kandlove  
       165 天前 via iPhone   ❤️ 2
    有一说一剪贴板权限一个一个关都相当费事了,不如 Apple 直接下通牒
    Ga2en
        10
    Ga2en  
       165 天前
    这类问题,当年华为刚出那什么破玩意“平行空间”就说了。对生态没一点好处,反正有人擦屁股继续摆呗。
    apple 的剪贴板权限我现在一个个设置就很烦,不如直接一刀切全不准,但是可能吗- -
    ysc3839
        11
    ysc3839  
       165 天前 via Android
    授权后不给撤销似乎是正常的,不过应该给个是否记住选择的选项,比如桌面端浏览器打开外部应用会提示是否允许,然后就有个记住选择的选项,记住后似乎就不能撤销了。
    ysc3839
        12
    ysc3839  
       165 天前 via Android   ❤️ 1
    相比之下,我更讨厌移动端浏览器打开外部 app 不能确认的问题,很多网站喜欢跳 app ,我想拒绝都不行。
    cookLv
        13
    cookLv  
       165 天前
    还是监管问题,就像西方国家旅游团,为什么不带队去消费,是导游不会带路吗,不是,是做了后果很严重。靠道德约束是不可能的,不然利益驱使下,都会往这个方向发展。
    wjfz
        14
    wjfz  
       165 天前
    刚刚看微博说 Apple 已经通知厂商禁止摇一摇跳转了。
    nothingistrue
        15
    nothingistrue  
       165 天前   ❤️ 2
    楼上一个个那么急着给 Apple 甩锅的,大概是生活在,「 iOS 应用不用 Apple 审核就能装,iOS 应用销售不用被强制抽走 30% 给 Apple 上供」的平行世界吧。
    abuabu
        16
    abuabu  
       165 天前   ❤️ 3
    为什么不是苹果的问题?他作为平台方有责任,有能力,有义务做这个事
    ShadowPower
        17
    ShadowPower  
       165 天前
    @ysc3839 Firefox 可以不让跳 APP ,默认是询问,可以设为永远允许和拒绝
    bao3
        18
    bao3  
       165 天前
    不处罚杀人犯,结果你要管制刀具,钢笔,螺丝刀,冲击钻。
    sss15
        19
    sss15  
       165 天前
    同理还有 ios 的定位授权,要么永久授权,要么每次都点一下并且统一,只要点那个取消,就永久取消。其实我更想要的是每次点一下取消,等我真的需要授权时,我临时点一下同意,而不是点一次取消就永久取消
    NerbraskaGuy
        20
    NerbraskaGuy  
       165 天前
    原罪当然是在滥用陀螺仪的 APP 们,但是 IOS 这么多版本了,连剪贴板权限都能控制了,陀螺仪还没加权限功能,咋地,系统开发也要学着硬件挤牙膏啊
    PostMeridiem18
        21
    PostMeridiem18  
       165 天前
    自从前年彻底注销了知乎账号之后连一篇知乎文章都没能看成了 🌚 无论怎样都会说检测网络环境有风险然后强制登陆,去他妈的
    VisualStudioCode
        22
    VisualStudioCode  
    OP
       165 天前 via iPhone
    什么?!你点进去我的知乎专栏还被要求登入?!

    @PostMeridiem18
    Mitt
        23
    Mitt  
       165 天前   ❤️ 3
    @nothingistrue #15 你这收入里还有 6%-16%是交钱给国家呢,咋不找工信部做这个事
    YukiHanaNo
        24
    YukiHanaNo  
       165 天前   ❤️ 1
    你去问问你爸妈叔伯姨爷奶对象老婆老公什么是陀螺仪会用吗,玩了几年手机怕不是玩傻了
    谁制造出的问题就解决谁这不才是根本吗
    vueli
        25
    vueli  
       165 天前
    我都是下载破解版解决这个问题的
    VisualStudioCode
        26
    VisualStudioCode  
    OP
       165 天前 via iPhone
    @ysc3839
    「比如桌面端浏览器打开外部应用会提示是否允许,然后就有个记住选择的选项,记住后似乎就不能撤销了。」
    桌面端的 Chrome 是能撤销的,见:
    https://lifehacker.com/reset-chrome-to-stop-automatically-opening-apps-1820404423
    https://dev.to/jdoss/how-to-restore-always-open-link-checkbox-in-chrome-77-356m
    VisualStudioCode
        27
    VisualStudioCode  
    OP
       165 天前 via iPhone
    @YukiHanaNo
    请看第一条附言的第二、三点。
    yiyiwa
        28
    yiyiwa  
       165 天前
    有什么摇晃跳转啊? iphone 13 pro 不清楚这个事情
    jianzhao123
        29
    jianzhao123  
       165 天前
    我为啥觉得 OP 提的有道理啊,b 站网页天天给我跳 APP ,没有任何办法阻拦……
    Bad0Guy
        30
    Bad0Guy  
       165 天前 via iPhone
    @nothingistrue #15 ,你要说给苹果洗地的话,那么工信部那群人在干什么呢? pdd 的事儿装聋作哑,自己事先出了文件规定要治理摇一摇,结果一通操作下来人家苹果直接上来给了你一巴掌警告,治摇一摇广告还得靠国外大厂不觉得很可笑吗
    aero99
        31
    aero99  
       165 天前
    我就是想要控制,safari 上面总是有一条提示打开 App 查看,怎么关闭掉
    wyd011011daniel
        32
    wyd011011daniel  
       165 天前
    有办法,有点抽象。跳转的瞬间进入后台,再回去就可以选择了。
    ufan0
        33
    ufan0  
       165 天前
    “从开发者的角度来讲,该权限应当是可以让用户调节控制的。”

    终于有人提到这个了,我找这个开关好久好久了,原来真的没有~
    hcocoa
        34
    hcocoa  
       165 天前
    关键是还真有人会在打开微博跳到淘宝后想着来都来了就逛一下吧。这才是让我最不可思议的。
    TenProX
        35
    TenProX  
       165 天前 via iPhone
    国内的软件哪个不希望留住用户,可是他们吃相太难看,用户流失是早晚的事情。现在的用户已经不是十几年前的用户了,用户的智商容不得厂商随意蹂躏。
    ysc3839
        36
    ysc3839  
       165 天前 via Android
    @VisualStudioCode 手动修改配置文件不属于浏览器本身提供的功能。
    VisualStudioCode
        37
    VisualStudioCode  
    OP
       165 天前
    @ysc3839 #36
    「手动修改配置文件不属于浏览器本身提供的功能。」

    所以现代浏览器都有扩展程序,自然也不再需要某项功能必须是浏览器本身提供的。
    ysc3839
        38
    ysc3839  
       165 天前 via Android
    @VisualStudioCode 移动端许多浏览器都不支持扩展程序。另外扩展程序能控制打开外部 app 吗?
    VisualStudioCode
        39
    VisualStudioCode  
    OP
       165 天前 via iPhone
    @ysc3839 #38
    「另外扩展程序能控制打开外部 app 吗?」

    请问你讲的「控制打开外部 app 」具体是什么意思?
    VisualStudioCode
        40
    VisualStudioCode  
    OP
       165 天前
    @ysc3839 #36
    「手动修改配置文件不属于浏览器本身提供的功能。」

    相对于 Android 与 iOS ,Windows 上的 Chrome 若想恢复显示「始终允许*在关联的应用中打开此类链接」的弹窗,需要修改用户数据文件夹内的 Preferences 文件,而非经由 Chrome 自己提供的设置项。我觉得这是可以「谅解」的。
    我之所以觉得可以「谅解」是因为,Windows 本就是一个比较开放的操作系统,相比 iOS 与 Android 。所以不走软件自有的功能,而要修改配置文件,虽然有些不爽,但还可以谅解。

    当然这种谅解不意味着 Chrome 没有义务提供设置项,我认为 Chrome 还是有义务提供设置项的。并且,如果这些设置项所需之接口,不向扩展程序开放的话,那 Chrome 就更有义务提供设置项了,因为扩展程序也达不到目的。
    nothingistrue
        41
    nothingistrue  
       165 天前
    @Mitt #23
    @Bad0Guy #30
    我说牛粪臭,你们来句马粪也臭,这是承认牛粪臭了吧。
    terence4444
        42
    terence4444  
       165 天前 via iPhone   ❤️ 1
    楼上一听要禁陀螺仪就急得跳脚的,你们不会是相关从业者吧?
    关闭陀螺仪不仅可以避免诱导跳转,还可以保护隐私。(比如 APP 会检测看手机的姿势,是否在移动中等)

    不会用的用户就留着,了解的用户自行去关闭即可,除了斩断隐私收集癖的收集手段之外,对于用户又有什么影响?
    ysc3839
        43
    ysc3839  
       165 天前 via Android
    @VisualStudioCode #39
    就是控制“在关联的应用中打开此类链接”
    cairnechen
        44
    cairnechen  
       165 天前   ❤️ 1
    每个人都说要给用户更多地自由,却总是希望有个青天大老爷“来管管”,二十年目睹之怪现状,至于说那些监管源头的,我提醒你一下,iOS 一旦开放侧载,监管应用开发者就成了痴人说梦,苹果现在对应用生态的掌控力完全依赖于 AppStore 独占应用下载渠道,一旦失去这种独占的能力,最终还是得回到给用户更多的自主控制权限上来
    waiY
        45
    waiY  
       165 天前
    是不是加个“仅本次打开”就能解决你的问题了?
    VisualStudioCode
        46
    VisualStudioCode  
    OP
       165 天前
    @ysc3839 #43

    我没有浏览器扩展程序方面的开发经验。我只是粗略地知道,扩展程序能否控制,应该取决于 Chrome 是否将所需接口开放给扩展程序。详见我在 40 楼的回复。
    Rorysky
        47
    Rorysky  
       165 天前
    @jiaslbang 1. 上次女孩儿同意,下次不同意硬上就是强奸呀
    loolac
        48
    loolac  
       164 天前
    建议直接对这类 app 的开发者收费,每个用户每天 1 ~ 10 美元,随便你怎么跳。
    Ga2en
        49
    Ga2en  
       164 天前
    @terence4444 不是所有人都知道陀螺仪是干嘛的。。。。
    Ga2en
        50
    Ga2en  
       164 天前
    @wclebb 摄像头权限,眼睛没闭上去就是想看,直接跳转下单。
    sherlockwoo
        51
    sherlockwoo  
       164 天前
    这和读取剪切板是一个道理,刚开始每次都会弹出是否允许读取,后面加了开关可以选择默认允许,默认禁止,每次提醒。
    jguo
        52
    jguo  
       164 天前
    拒绝了一样会跳转,无非是不打开新 app 直接使用内置的浏览器
    Torpedo
        53
    Torpedo  
       164 天前
    该说不说,国产安卓这个 case 里确实做的好
    CFM880
        54
    CFM880  
       164 天前
    摇一摇是苹果的锅。没有对 app 做下架处理,监管不到位
    Mitt
        55
    Mitt  
       164 天前
    @CFM880 #51 这只是个“标准”,是用于评估的,况且谈论监管不到位,监管首要执行的是工信部,不管是安卓还是苹果,这么久都还存在这些 APP ,那说明这玩意如果是强制执行的,第一监管不到位的就是工信部
    VisualStudioCode
        56
    VisualStudioCode  
    OP
       162 天前
    @jiaslbang
    「首次询问+同意后不再询问,设计思路没毛病,符合直觉」

    关键是永远啊!永远都无法再撤回授予的权限了,这样真的好吗?除非还原(即全新安装) iOS 。还要谨慎从之前的 iOS 备份恢复,因为授予的这个权限有可能也包含在 iOS 备份内。
    VisualStudioCode
        57
    VisualStudioCode  
    OP
       162 天前
    @jiaslbang

    另请见第三条附言。
    jiaslbang
        58
    jiaslbang  
       162 天前 via iPhone
    @VisualStudioCode 弹窗的上一步,用户每次都是表达了去银行的意愿的,为啥还需要以后每次都弹窗做二次确认?

    如果上一步是因为摇一摇广告强行替用户自动表达意愿,那就是广告作恶和监管不到位的问题,为啥要用户承担这个二次确认的成本?
    VisualStudioCode
        59
    VisualStudioCode  
    OP
       162 天前
    @jiaslbang #58

    讲得好。讲到点子上了:每次跳转是用户主动操作的,还是自动执行的。而不是执行跳转后的拦截方案。

    目前有两个网站会自动执行 URL Scheme 跳转:oia.zhihu.com, jd.com 。所以用户在用浏览器访问知乎跟京东的时候,就要考验所使用的浏览器的拦截功能能否奏效了。详见我的专栏文章。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   881 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:23 · PVG 05:23 · LAX 14:23 · JFK 17:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.