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

为什么 iOS 不内置扫描二维码的功能?

  •  
  •   KillPaul · 2015-11-03 22:37:01 +08:00 · 12426 次点击
    这是一个创建于 3343 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一直觉得很奇怪。要是在自带相机里添加这个功能,不是很棒的一件事吗?
    逻辑我都想好了,在拍照时如果识别到二维码,就在二维码上显示一个框框,让人知道可以点击那个框框来进行识别的操作,不点按则仍然是在拍照,不会影响拍照体验。
    18 条回复    2017-12-07 21:47:19 +08:00
    EPCoo
        1
    EPCoo  
       2015-11-03 22:47:30 +08:00 via iPhone
    不安全吧?
    KillPaul
        2
    KillPaul  
    OP
       2015-11-03 22:48:36 +08:00
    @EPCoo 为何。
    cxbig
        4
    cxbig  
       2015-11-03 22:55:00 +08:00
    我感觉二维码就国内用的多,欧美用这个的场合太少了。不是刚需。
    abelyao
        5
    abelyao  
       2015-11-03 23:10:06 +08:00
    国内许多二维码的使用场景(例如微信,扫码支付等)都需要在解析二维码之后有相应的业务功能, iOS 如果在相机里加个扫码顶多也就是跳转到 Safari 打开网页了,然而也没几个二维码的内容是网址。

    当然 iOS 也可以开放接口供 微信 / 支付宝 等 APP 去调用,但是… 我点开的 APP 是相机,相机的本质是拍照、录像,具体什么业务功能,我还是点开相应的 APP 吧。
    strongcoder
        6
    strongcoder  
       2015-11-03 23:12:39 +08:00 via iPad
    又不是小米
    honeycomb
        7
    honeycomb  
       2015-11-03 23:19:33 +08:00
    @abelyao
    但是总的来说
    我并不允许 App 使用非原生的分享机制
    因此让 app 自身调用二维码,只会出现在登陆的场景
    abelyao
        8
    abelyao  
       2015-11-03 23:22:00 +08:00
    @honeycomb 抱歉,反复看了几遍你的回复,读不懂你的意思,这之间的逻辑是…?
    honeycomb
        9
    honeycomb  
       2015-11-03 23:34:16 +08:00
    @abelyao

    逻辑是这样的:

    在 Android 里,如果一个应用自身没有权力调用摄像头,但还是想拍照的话,它可以:
    发起一个 Intent 到系统的拍照应用,然后用户在系统拍照应用里拍照,系统拍照应用会把拍好的照片返回给那个应用,这种情况也适用于二维码,只是负责获取二维码的应用是另一个第三方应用。

    如此对最小权限原则更友好。

    现在的软件都喜欢搞闭环,动不动来一个二维码,要求用 XX 扫一扫

    这样不太好:
    如果我的手机上有这样的软件
    1 ,我会想办法把它变成开环的
    2 ,如果做不到 1 ,那就不使用 1 涉及的功能
    3 ,如果 1 涉及的功能是这个应用的不可缺少的核心特性,大概会卸载吧

    具体的例子像微信的公众号,内部的分享
    如果要打开它们,必须先把这件事告诉腾讯(用户点击了它),并用微信内置的浏览器打开后,才可用外部浏览器访问。
    所以我不接受通过微信分享的网页,这么做不合适。
    techyan
        10
    techyan  
       2015-11-04 00:01:00 +08:00 via iPhone
    Passbook ( Wallet )内置扫二维码功能。不知道算不算。。
    abelyao
        11
    abelyao  
       2015-11-04 00:17:52 +08:00
    @honeycomb

    明白你的意思了,能否总结为,你希望能以最小权限执行一些 APP 自己的业务。

    我觉得 APP 搞闭环,这是开发商出于拉拢用户为目的、提高装机量的一个措施,即便 iOS 的相机功能支持了扫码,到处可见的海报仍然会带一句“使用 XXX 扫描二维码”吧。整体的生态就是这尿性哎。

    另外,如果你想体验某 APP 的业务功能,例如使用微信扫码支付,那么即便 iOS 的相机支持了扫码,扫完码之后仍然需要调用微信进行支付。而本质上来说,我既然扫码了,我知道这是一个使用微信支付的二维码,那么理所当然的,我选择打开微信(或者以后可能出个微信钱包?)而不会去打开相机啊,我要付钱跟拍照有什么关系呢?—— 这是我在 #5 想表达的意思。

    你可以说如果这样不友好,你选择卸载微信,或者不使用微信扫码支付,那当然也 OK 的,每个用户都有自己的习惯。

    最后,你说到的分享,不,你完全可以单独复制一条消息(如果消息内只有一个 URL )然后打开 Safari 进行访问。如果你说应该在你点击 URL 的时候,就弹出一个选项让你选择使用微信内置浏览器、还是使用 Safari 进行访问的话,我想说,微信的用户群体是非常庞大的,大多数人希望能点击 URL 直接就打开了,而不是为了极少数人的需求增加一个操作(或许微信应该在设置中加入一个选项“默认使用 Safari 打开网页”?)
    lobbk1209
        12
    lobbk1209  
       2015-11-04 00:24:53 +08:00
    @abelyao 但是现在有了 universal link ,是可以直接使用 URL 跳转到对应 APP 的,所以在 iOS 9 下,只要 APP 支持,一个系统层级的二维码访问方式应该还是挺理想的。
    zonghua
        13
    zonghua  
       2015-11-04 00:29:21 +08:00 via iPhone
    @lobbk1209 Windows phone 8 是有的,搜索键进去就有。后来更新了就没有了
    gaoios
        14
    gaoios  
       2015-11-04 08:56:52 +08:00 via iPhone
    写代码的时候有个单一功能原则,这样的设计比较利于重用,每块的功能也比较清晰,也是很好的设计 ,从代码到产品会不会是也是遵循这个原则,个人的看法
    expkzb
        15
    expkzb  
       2015-11-04 09:40:52 +08:00
    "拥有 QR 码专利的日本企业尽管宣称不收取专利费,但国外企业对其技术标准,在推广期放开免费使用,一旦形成规模或技术更新后随即收取高额费用已成为惯例。"
    honeycomb
        16
    honeycomb  
       2015-11-04 09:56:24 +08:00
    @abelyao

    “你希望能以最小权限执行一些 APP 自己的业务”
    是的,只要一件事情能不用 app 自己做,就应该不让 app 自己做,特别是那些超级 app


    “而不会去打开相机啊,我要付钱跟拍照有什么关系呢?—— 这是我在 #5 想表达的意思。 ”
    对于这件事情的,我的理解是:
    1 ,因为要付钱,
    2 ,付钱依赖于解析出二维码,
    3 ,解析出二维码依赖于对二维码拍照

    所以我要付钱,和微信去扫二维码有什么关系

    而通用的 3 的做法是使用第三方软件,如 barcodescanner 之类的 app


    至于
    “你完全可以单独复制一条消息(如果消息内只有一个 URL )然后打开 Safari 进行访问”
    这是做不到的,因为微信内大多数的分享并不能复制出 URL
    ralphtsui
        17
    ralphtsui  
       2017-09-21 11:43:29 +08:00
    嗯现在有了,欢迎楼主更新 iOS11
    KillPaul
        18
    KillPaul  
    OP
       2017-12-07 21:47:19 +08:00
    @ralphtsui 哈哈哈看来我预言成功
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1580 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.