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

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