iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
VrianC
V2EX  ›  iDev

求助:完全离线的 iOS App 在首次弹出键盘时触发系统的联网许可弹窗

  •  
  •   VrianC · 1 day ago · 2644 views

    我开发了一个完全离线的 iOS App ,源码中没有任何网络请求代码,也没有链接 Network.framework 或 CFNetwork 。

    但全新安装后,当一个 TextField 首次获得焦点并弹出系统键盘时,系统会弹出“是否允许此 App 使用无线数据”的弹窗。

    真机日志显示,文本框成为 First Responder 后,UIKit 开始初始化文本输入系统,随后 App 进程内出现:

    • com.apple.assistant.dictation
    • com.apple.SystemConfiguration.NetworkInformation
    • <NULL> genericnw_path_evaluator_start

    紧接着,CommCenter 将这些东西都归属到 App 的 PID ,并显示首次联网许可。

    日志中没有 nw_connection,也没有域名、URL 、数据传输记录这些内容。使用系统原生键盘和第三方键盘也都能复现

    前天和昨天分别和 Claude 还有 GPT 排查到凌晨一两点,人都快疯了,思来想去也许是 iOS 版本的问题呢?我现在测试环境是 iOS 27 Beta 4 ( 24A5390f )

    想问问有人在正式版 iOS 或其他系统版本上遇到过类似情况吗?就是文本输入框获得焦点后系统自动触发联网询问的弹窗。这是 iOS 27 Beta 的 Bug ,还是 iOS 真的会把 UIKit/听写组件在 App 进程内进行的网络路径检查算作 App 自身的联网行为?不至于这么神经病吧???

    26 replies    2026-07-30 23:22:41 +08:00
    sevenyangcc
        1
    sevenyangcc  
       1 day ago
    27 的 bug
    vzyw
        2
    vzyw  
       1 day ago
    国行手机的特色项目。 好几年前就有了。
    taochang
        3
    taochang  
    PRO
       1 day ago
    配置文件会不会有明确不联网的配置?
    RayJiang9
        4
    RayJiang9  
       1 day ago
    创建个新工程,就放一个 UITextField 试试呗,如果也有问题就是系统 bug
    RayJiang9
        5
    RayJiang9  
       1 day ago   ❤️ 1
    @RayJiang9 测了一下,iOS 27 和 iOS 26.5 都复现了...
    Danswerme
        6
    Danswerme  
       1 day ago
    @RayJiang9 这不会是国行特色吧
    RayJiang9
        7
    RayJiang9  
       1 day ago
    @Danswerme 网络弹窗是国行才有的,但是唤起键盘就触发这个弹窗应该是系统 bug
    VrianC
        8
    VrianC  
    OP
       1 day ago via iPhone
    @taochang 这是何物🤔
    怎么配置呀,我就是希望绝对的不联网,这个可以在 project 配置中声明吗?
    VrianC
        9
    VrianC  
    OP
       1 day ago via iPhone
    @RayJiang9 对的,我前天晚上就做了个四十多行的空壳 App ,内容是等待五秒后激活键盘,然后 App 会在激活键盘的那一瞬间弹出网络请求弹窗
    我就是想看看 iOS 26 会不会也这样。。没想到怎么也会这样啊。
    deplives
        10
    deplives  
       1 day ago
    正常现象
    VrianC
        11
    VrianC  
    OP
       1 day ago via iPhone
    @RayJiang9 我感觉多少有点离谱了。你 UIKit 刺探“听写是否有网”这件事为什么会算到我 App 头上,明明是你初始化组件自己的内部请求
    bao3
        12
    bao3  
       1 day ago
    有点神奇的 bug ,弹键盘和网络没什么关联。
    难道是进程间监听用了网络通信,所以弹网络权限。
    bao3
        13
    bao3  
       1 day ago
    问了一下 AI…… 清楚了,就不贴 AI 答案了。这也太搞笑了。
    taochang
        14
    taochang  
    PRO
       1 day ago
    @VrianC 问下 AI Info.plist 中禁止联网配置呢?
    loveuqian
        15
    loveuqian  
       1 day ago
    @bao3 #13 你的答案是什么?键盘里面的听写吗?
    RayJiang9
        16
    RayJiang9  
       1 day ago
    @VrianC #10 我目前测试下来好像和听写没关系。
    和 AI 跑了好多测试,已经能排除:
    业务网络代码
    听写
    候选词/联想
    UITextField 单一实现
    textInputMode
    某个具体输入框配置。
    只要返回一个 1pt 的 inputView ,首次成为 first responder 就触发弹窗; 0pt 不触发。

    唯一绕过成功的是完全不用系统文本输入链路:不用 UITextField/UITextView/UIKeyInput/inputView/inputAccessoryView/becomeFirstResponder ,改成普通 UIView/UIControl 自己画输入框和键盘按钮,手动维护文本,这样不会弹。(就是有点太蠢了...等于自己造一个键盘 view
    f5a599
        17
    f5a599  
       1 day ago
    会不会是输入联想之类的问题
    lichdkimba
        18
    lichdkimba  
       1 day ago
    估计美国总部的开发都不怎么测国行特供内容
    laoyur
        19
    laoyur  
       1 day ago
    审核人员又不用国行手机,怕啥
    myderr
        20
    myderr  
       1 day ago
    会不会是右下角有个语音转写,他也认为是输入法的了。
    VrianC
        21
    VrianC  
    OP
       1 day ago
    @RayJiang9 这也太离谱了。。。
    ttsh
        22
    ttsh  
       1 day ago
    正常,我点了不允许之后,再重新打开又弹了一次呢
    frankilla
        23
    frankilla  
       1 day ago
    什么?网络弹窗是国行独有?那怎么说呢,我觉得这个挺好的啊
    everfly
        24
    everfly  
       1 day ago   ❤️ 2
    VrianC
        25
    VrianC  
    OP
       1 day ago
    @everfly 这么看来还算个挺新的 Bug 啊,猜猜可能是为了检查是否有网络以决定某些组件(如听写等)是只使用端侧端侧内容还是一些云端内容(?)
    感觉真的大概率是因为美国那边忘记国行有这么个东西了()完全没考虑到
    dem0ns
        26
    dem0ns  
       20h 26m ago
    这种应该不会修,国行就是最最最拉的,之前提交了一个绕过联网限制的洞,都进入 plan 了,过段时间又给拒了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2736 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 11:48 · PVG 19:48 · LAX 04:48 · JFK 07:48
    ♥ Do have faith in what you're doing.