为什么 IOS 不给输入法 APP 直接录音语音转文字的权限? 需要跳转 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
stinkytofux
5.54D
V2EX    iPhone

为什么 IOS 不给输入法 APP 直接录音语音转文字的权限? 需要跳转

  •  
  •   stinkytofux 13 天前 1542 次点击

    苹果自己的那个按钮可以直接录音转文字这个没毛病, 就是识别不准确, 不好用.

    但是很多第三方 APP 是可以不用跳转的, 例如 豆包, 微信输入框中的按钮.

    而最需要这个功能的第三方输入法都需要跳转才能录音, 如果为了安全都要跳转还可以理解, 为什么厚此薄彼?

    17 条回复    2025-10-01 17:23:27 +08:00
    MacsedProtoss
        1
    MacsedProtoss  
       13 天前 via iPhone
    很简单,在 app 内录音那是 app 的能力,前台资源可以都给他,而键盘主 app 和键盘 extension 其实是两个进程,如果允许键盘做太多的事情,那么键盘就可以吃很多资源了,肯定是不符合预期的
    CNN
        2
    CNN  
       13 天前
    @MacsedProtoss #1 微信可以直接调用录音,为何符合?
    MacsedProtoss
        3
    MacsedProtoss  
       13 天前 via iPhone
    @CNN 他是主 app ,有完整权限很正常啊

    键盘那是 extension ,凭什么给你一堆莫名其妙的权限?
    wangpao
        4
    wangpao  
       13 天前
    输入法的权限限制很多。
    苹果自带的调用的是手机本地的模型。
    微信里面的语音输入,并不属于“输入法”,而是微信功能的一部分,所以限制也没有输入法那么多。
    CNN
        5
    CNN  
       13 天前
    @MacsedProtoss #3 第一次听说权限分“主次”
    beimenjun
        6
    beimenjun  
    PRO
       13 天前
    苹果不愿意同时给予一个已经获得了文字输入权限的 extension 再开一个语音输入权限。

    对于苹果来说,每次一想到给了之后,那天晚上就会梦到 extension 在后台搞小动作的噩梦。多少苹果有点心理方面的大病。

    既给权限又保障安全在技术上是完全可行的,比如录音必须走官方控件,然后对应活动周期严格控制。对于苹果来说,反正键盘 extension 还有一堆 bug ,哪有空开发啥新功能,“又不是不能用”,过几年想起来再做一下,又是一个 highlight 。
    wangpao
        7
    wangpao  
       13 天前   1
    @CNN

    iOS 第三方键盘,能打开主界面的设置是主 App ,输入法本身属于 keyboard extension ,运行在独立的沙盒中,和主 App 隔离,不能随意访问系统 API 或其他应用的数据。

    几乎没有后台能力,内存和 CPU 使用受到严格限制,默认也不允许联网,不能访问任何敏感数据,甚至和主 App 的通讯也受到严格限制(只能通过 App Group 共享少量数据(如词库、设置))。所以每次既需要麦克风,又需要联网的时候,就要打开主 App 来获得语音输入和识别的能力,然后靠主 App 的后台和权限做识别,然后传递给 keyboard extension 。
    我做过一个自己用的输入法,用来自定义每个按键对应的快捷内容,所以有所了解。
    moooookey
        8
    moooookey  
       13 天前 via iPhone
    傲慢
    MacsedProtoss
        9
    MacsedProtoss  
       13 天前 via iPhone
    @CNN 说明你没写过代码
    限制权限是个好事,
    @beimenjun 走官方控件有啥用?现在录音使用麦克风本来就会有提示,没啥安全上的区别
    问题在于一个 extension 要干这么重的活,接收音频流,走网络请求传后台再接收回来的文本,想想都知道性能要求不低,一个 extension 整这么一出怕不是会导致经常触发 oom
    gigishy
        10
    gigishy  
       13 天前 via iPhone
    op 显然没有认真用苹果内置输入法的麦克风图标,因为懒也因为不想手指炎症,我是认真用的,一方面有经验了,口述时比如标点等输入有些许小技巧,更重要的方面时,稍微听多一点加上实时修正一段小时间,官方语音输入飞快且精准率几乎 100%。
    第二个问题:那些 app 比如微信申请的是麦克风语音权限,也并不是输入法的“语音转文字”权限,两个权限不要混淆。
    第三个问题:苹果对于第三方输入法的权限管理,我极其赞成!任何一个平台,包括 windows ,输入法权限不管理好,程序不编写好,都是突破系统的好入口。
    xiangyuecn
        11
    xiangyuecn  
       13 天前
    这都能扯上性能,4000 块的连 400 块的都比不过不成
    div id="r_16800332" class="cell">
    beimenjun
        12
    beimenjun  
    PRO
       13 天前
    @MacsedProtoss 内存问题在现在 8G 时代不该成为瓶颈,功能设计是给人用的,不是让设备在用户手上养老的。

    用户如果愿意花更大的内存更多的资源换更好的体验,厂商就该尽可能满足,语音输入就是这么基础的需求,退一万步,系统输入法就能实现语音输入,为什么不能让第三方键盘用一样的语音输入识别流程。

    这件事上显然苹果并没有尽全力,甚至连尽 1/100 的力都没有,在这种情况下,再谈什么 OOM 和实现之类的细节,我感觉意义很低。
    moudy
        13
    moudy  
       13 天前 via iPhone   1
    @beimenjun 搞成搜狗云控流氓软件就都开心了
    solecc
        14
    solecc  
       13 天前
    苹果内置语言输入法有点不准
    MacsedProtoss
        15
    MacsedProtoss  
       12 天前 via iPhone
    @beimenjun 手机不是电脑,并不是你要多少就给多少的,提升的内存容量就算不跑 AI 也依然是不会给到单个 app 的内存使用上限,而是给到多个 app 的保活。
    同时目前主流 app 大致是在 ios14-15 的支持上,支持这个系统的机器应该是追溯到 6s/7 ,还得要很多年才可以都是大内存的机器。
    另外其实很多时候应用确实是不需要那么多内存,因为苹果对于这些场景基本都是提供了跨进程的方案,例如 webview 以及一些相机相关的能力,消耗的内存实际上不计入 app ,是系统进程,所以其实现在的内存上限也还算合理。包括这个苹果的语音识别能力也是提供了 API 给到 app 的,问题是 app 就是喜欢把你的语音录下来上传给后台来做识别,而不是在本机上通过系统 API 来实现
    最后是键盘,他其实是区分主 app 和 extension ,默认情况下其实键盘 extension 都不能联网,更别提什么语音输入了,而且使用第三方键盘的时候系统依然提供了那个自带的语音输入能力,并不是系统的 privilege 。
    lingxiaoli
        16
    lingxiaoli  
       11 天前
    以前是可以的 后来更新了就不能直接在当前转文字了
    lspnicol
        17
    lspnicol  
       8 天前
    @lingxiaoli 对,以前是可以的,忘了哪一代 ios ,更新之后就发现不行了,语音输入只能靠内置的了
    关于 &nbp;   帮助文档     自助推广系统     博客     API     FAQ     Solana     1156 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:30 PVG 07:30 LAX 16:30 JFK 19:30
    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