做了个 Mac 小工具,自动复制短信验证码到剪切板: Code Piper - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
CatStudioApp
V2EX    分享创造

做了个 Mac 小工具,自动复制短信验证码到剪切板: Code Piper

  •  3
     
  •   CatStudioApp 2023-05-22 13:08:33 +08:00 4357 次点击
    这是一个创建于 873 天前的主题,其中的信息可能已经有所发展或是发生改变。

    众所周知,macOS 上的 Safari 已经可以自动填充短信验证码了。但是有时候我们并不在用 Safari 。经常是用 Chrome/Edge/Firefox 。

    每次要打开 Messages.app -> 找到最新短信 -> 复制短信验证码 -> 切换到浏览器粘贴,非常无聊且枯燥。

    最近忍无可忍,做了一个非常简单的 app 并且上架了 App Store 。

    短信( SMS )验证码送达的时候,会自动为你复制到剪切板并且推送提示(可关闭)。 在浏览器里直接 CMD + V 就可以迅速搞定了。

    我们也了解到有很多 app 做了这种功能。但是他们都需要是全盘读写权限( Full Disk Access )。这种权限,我一般只给非常信任的 app 。

    Code Piper 则不同,首先它是一个沙箱 app 。其次,它仅仅会需要授权读取 Messages.app 的数据库文件。 相比于全盘读写,这个 app 需要的权限非常少。

    https://apps.apple.com/us/app/code-piper/id1669959741

    关于名字由来:《硅谷》剧集

    screenshot

    36 条回复    2025-08-01 11:32:26 +08:00
    dingdangnao
        1
    dingdangnao  
       2023-05-22 13:32:13 +08:00
    用上了。
    就是这个图标太复杂了
    taerbao
        2
    taerbao  
       2023-05-22 13:49:01 +08:00
    用上了。
    Echoldman
        3
    Echoldman  
       2023-05-22 13:56:32 +08:00
    @dingdangnao 我猜是用 AI 画的
    leisurelylicht
        4
    leisurelylicht  
       2023-05-22 14:02:43 +08:00
    东西是个好东西,就是图标有点太抽象
    hxhlb
        5
    hxhlb  
       2023-05-22 14:03:57 +08:00
    等我的黑苹果能上 iMessage 了之后就试试..
    vxthon
        6
    vxthon  
       2023-05-22 14:07:35 +08:00
    测试了下,可用。通知在面板上打开后,似乎无法通过面板关闭了。
        7
    bjzhush  
       2023-05-22 14:07:51 +08:00
    用上了,不错
    补充一下,安装和打开 APP 之后需要手动选择一下 database 路径,如果在首次打开的时候强制弹出或者提醒用户选择一下,或者展示下目前是未完成状态就更好了
    bjzhush
        8
    bjzhush  
       2023-05-22 14:10:10 +08:00
    顺便请教一下,这个收到短信事件是如何监测的呢? 是类似 inotify 监测文件夹那种吗,还是系统 API 呢
    dufu1991
        9
    dufu1991  
       2023-05-22 14:27:41 +08:00
    比这个好,增加了自动监听。https://v2ex.com/t/851374#reply41
    JimmyLX
        10
    JimmyLX  
       2023-05-22 14:33:43 +08:00
    支持,目前在用 MacCopier ,用了一年多很稳定
    https://github.com/DreamSaddle/MacCopier
    Uplay
        11
    Uplay  
       2023-05-22 17:39:16 +08:00
    收藏了,等什么时候有 iPhone 了就搞一搞
    yuhangch
        12
    yuhangch  
       2023-05-22 18:46:26 +08:00
    @JimmyLX macCopier 一个问题就是,等验证码的时候,需要一直 focus 在验证码那个框框上,一个不注意就粘到其他地方了,其他地方都挺好的
    CatStudioApp
        13
    CatStudioApp  
    OP
       2023-05-23 00:02:09 +08:00
    @bjzhush 没有系统 API 。纯粹轮询。
    CatStudioApp
        14
    CatStudioApp  
    OP
       2023-05-23 00:02:38 +08:00
    @vxthon 请问是允许通知后无法关闭吗?您需要一个 app 内关闭通知的选项?
    CatStudioApp
        15
    CatStudioApp  
    OP
       2023-05-23 00:02:54 +08:00
    @Echoldman
    @leisurelylicht
    @dingdangnao

    是的,AI 画的。过两天改进下。
    CatStudioApp
        16
    CatStudioApp  
    OP
       2023-05-23 00:04:09 +08:00
    @JimmyLX 感谢推荐。「安装好软件后,需要为其设置 完全磁盘访问权限。」这个正是我们想避免的情况。
    Cascable
        17
    Cascable  
       2023-05-23 00:49:15 +08:00   1
    原来是 Twilar 的作者,非常好用支持一个 谢谢;
    vxthon
        18
    vxthon  
       2023-05-23 09:10:43 +08:00
    @CatStudioApp 是的,因为我看到第一次启动的时候有打开通知的选项,但是打开之后就找不到关闭通知的交互了。这样不用去系统里面设置了。
    morty0
        19
    morty0  
       2023-05-23 09:55:33 +08:00
    bug: 如果短信包含其他数字有可能复制其他的
    vxthon
        20
    vxthon  
       2023-05-23 11:47:02 +08:00
    短信中包含 11 位手机号也会识别为验证码
    barfi1316
        21
    barfi1316  
       2023-05-23 13:42:08 +08:00
    挺好用的,感谢!
    chotow
        22
    chotow  
       2023-05-23 20:11:36 +08:00
    点击 Select Database Folder 后,文件选择框里的文件都是灰色的,无法选择
    CatStudioApp
        23
    CatStudioApp  
    OP
       2023-05-23 22:53:06 +08:00
    @chotow 是的,得选择那个文件夹 因为 Sqlite 不只俩文件。下次我加个说明。


    @morty0 感谢反馈。能否给个例子(方便的话用 app 内 feedback 邮件)?我下次处理下


    @vxthon 收到反馈。我看看下一步怎么处理。感谢!
    morty0
        24
    morty0  
       2023-05-24 12:13:41 +08:00   1
    @CatStudioApp #23 ` [xxx] 来自 03455 的温馨提示:验证码是:913582,欢迎使用 03455 商城,该验证码在 5 分钟内有效。` 例如上面这个短信会复制 03455;

    ` [xxx] 您尾号 0200-01 的合约还剩 7 天到期,会员续约享服务费优惠,具体优惠可在 APP 查询~路径:xxxxxx` 例如这个短信, 并非验证码短信, 会复制 0200
    firya
        25
    firya  
       2023-05-24 12:17:39 +08:00
    13 系统下图标比别的 app 大了一圈
    bingshuiyixian
        26
    bingshuiyixian  
       2023-06-15 11:22:08 +08:00
    希望添加一个“开机自动登录”选项,阿里嘎多
    Code00911
        27
    Code00911  
       2023-06-20 13:42:40 +08:00   1
    整体很好,已在美区 5 星评价,另外建议更改下 icon ,目前 icon 图形偏复杂、颜色偏多,图形缺少明确的信息符号。
    CatStudioApp
        28
    CatStudioApp  
    OP
       2023-07-01 13:23:12 +08:00
    @bingshuiyixian 已添加!感谢



    @Code00911 收到,感谢!
    mengyingchina
        29
    mengyingchina  
       2023-07-31 10:41:32 +08:00   1
    感谢开发者。把 app 添加到开机自动启动项之后,每次系统启动后,桌面会弹出“The application can't be opened. -50”的错误提示框。我在 macOS Ventura 13.5 和测试版的 macOS Sonoma 上都有这个错误。
    CatStudioApp
        30
    CatStudioApp  
    OP
       2023-08-14 12:02:22 +08:00
    @mengyingchina 不好意思,久等了。
    我们在最新版 0.2.1 修复了这个问题。目前正在审核中。预计 12 小时内上线
    CatStudioApp
        31
    CatStudioApp  
    OP
       2023-08-14 21:23:49 +08:00
    @mengyingchina 看来还没审核通过,不过 TestFlight 已审核 https://testflight.apple.com/join/7raK338Y
    ys0316lover
        32
    ys0316lover  
       2023-08-15 09:33:13 +08:00 via iPhone
    @CatStudioApp 感谢开发者,我在 App Store 反映了这个问题没等到回复,没想到一 google 是 v 友的 app XD
    CatStudioApp
        33
    CatStudioApp  
    OP
       2023-08-20 14:23:56 +08:00
    @ys0316lover App Store
    CatStudioApp
        34
    CatStudioApp  
    OP
       2023-08-20 14:24:27 +08:00
    @ys0316lover App Store 评论有延迟,而且苹果给开发者的推送不靠谱,经常丢失。请问您有什么需要反馈给我们的吗
    mengyingchina
        35
    mengyingchina  
       2023-08-28 13:06:05 +08:00   1
    @CatStudioApp 非常感谢开发者~
    stevenlv
        36
    stevenlv  
       71 天前
    体验完回来给作者点个
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1378 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:52 PVG 00:52 LAX 09:52 JFK 12:52
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86