View in English

  • 打开菜单 关闭菜单
  • Apple Developer
搜索
关闭搜索
  • Apple Developer
  • 新闻
  • 探索
  • 设计
  • 开发
  • 分发
  • 支持
  • 账户
在“”范围内搜索。

快捷链接

5 快捷链接

视频

打开菜单 关闭菜单
  • 专题
  • 相关主题
  • 所有视频
  • 关于

更多视频

  • 简介
  • 概要
  • 转写文稿
  • 代码
  • 借助 NetworkExtension 优化网络流量过滤和隧道

    了解 NetworkExtension 框架中提供的 API,这些 API 让你的 App 能够灵活地扩展系统的核心网络功能 — 例如实现网络内容过滤器、创建和管理 VPN 配置等。在 iOS、iPadOS 和 macOS 26 中,你现在可以构建更为强大的内容过滤器,让它根据整个 URL (而不仅是主机名) 来做出流量决策,同时确保隐私和安全丝毫不受影响。我们将首先简要介绍 NetworkExtension 框架的一些主要用例,包括网络中继和 VPN。然后,我们将深入探讨这一全新的 URL 过滤器 API 及其关键组件,包括 Private Information Retrieval、Privacy Pass 等。

    章节

    • 0:00 - 开场介绍
    • 1:48 - NetworkExtension 导览
    • 3:21 - 访问远程资源
    • 8:40 - 过滤内容
    • 10:54 - 创建 URL 过滤器

    资源

    • Filtering traffic by URL
    • NEHotspotManager
    • Network Extension
    • NEURLFilterManager
    • PIRService
    • TN3120: Expected use cases for Network Extension packet tunnel providers
    • TN3165: Packet Filter is not API
    • verdict(for:)
      • 高清视频
      • 标清视频

    相关视频

    WWDC25

    • 将隐私保护融入开发流程

    WWDC19

    • 适用于现代 Mac 的网络扩展
  • 搜索此视频…

    大家好 我叫 Maria Alice Dos Santos 我是 Apple 互联网技术团队的成员 在这里 我将详细介绍 Network Extension 框架 以及它在 iOS 和 macOS 26 中的最新进展

    Network Extension 是一个框架 它提供了一套丰富的 API 可让你构建在 Apple 平台上 扩展和自定义 网络功能的 App

    Network Extension App 在整个网络栈中无缝运行 与 Network 框架、 CFNetwork、WebKit 和 Sockets API 紧密集成 还与系统级组件 例如路由、流量策略 以及所有类型的系统管理紧密集成 这使得 Network Extension 在网络性能和安全性方面 能以最优化的方式实现所需功能

    Network Extension 是一个强大的框架 可让你在系统层面改变网络行为 为确保你 App 与其他 App 及系统协调一致地运行 必须为你想要构建的 App 类型 选择正确的 API

    在这个讲座中 我将介绍 可使用 Network Extension 框架 创建的各种 App 以及如何使用中继和 VPN 创建访问远程资源的 App 我还将讨论如何使用 Network Extension 创建内容过滤器 包括在 iOS 和 macOS 26 中创建 基于 URL 的过滤器的新方法 Network Extension 框架支持 App 以多种方式 自定义和扩展网络功能

    在 iOS 上 Wi-Fi Management and Hotspots API 允许 App 配置 Wi-Fi 设置 并与 Wi-Fi 热点交互 这包括 iOS 26 中新增的 NEHotspotHelper 扩展 API

    iOS App 还可以使用 Local Push API 这适用于 App 所在网络无法访问 Apple 推送通知服务的情况 例如在游轮或医院中 这使你可以在受限网络上支持 短信和 IP 语音通话等功能

    你可以使用 DNS Configuration and Proxy API 构建安全 App 来保护 DNS 流量免受攻击 你可以安装 DNS 配置 并使用这个内置的加密 DNS 协议 或通过你自己的安全通道 代理 DNS 流量

    Mac 上的 App 可以使用 Transparent Proxy API 例如 将特定网站的流量导向 基于云的安全服务 以进行身份验证和授权 你还可以构建具有其他功能的 App 例如让用户安全地访问远程资源 或者安全私密地过滤 用户在网络上访问的内容 从而保护用户

    安全远程访问是一个广泛的类别 包括许多不同的方法 让用户从外部安全地连接到内部系统 或者将设备流量通过隧道传输到 远程服务器 从而在不安全网络中保护个人流量 使用 Network Extension 时 有两种主要方法可供考虑 网络中继和基于 IP 的 VPN 根据要通过隧道传输的流量类型 使用最适合你需求的方法 当你想要通过隧道传输 TCP 或 UDP 流量以访问特定 App 时 可考虑使用网络中继而非传统 VPN 例如 云托管的企业 App 包括电子邮件或协作等 非常适合使用中继 MASQUE 协议支持安全代理 并针对性能进行了优化 它可以轻松集成到现代云环境中 由于平台内置了对中继的支持 你无需构建自己的扩展即可利用它 只需配置中继设置和身份验证 可以使用 NERelayManager API 或通过 MDM 服务器中的 配置描述文件 如果要通过隧道传输 IP 流量 请使用基于 IP 的 VPN 选项 例如 企业可以使用基于 IP 的 VPN 将企业网络扩展到员工 让他们获得完整的网络访问权限 就像在办公室里一样 这个解决方案非常适合用于 为受信任的老员工 提供公司网络的持久 或完整隧道访问权限

    或者 具有严格的网络安全策略 的高度监管组织 可能需要将受管理的设备的所有流量 通过公司网络发送

    人们可能还希望通过 VPN 在不安全网络中保护流量 以保护隐私和保持匿名

    要创建基于 IP 的 VPN 隧道 请通过 NEVPNManager API 来利用内置协议 IKEv2 或 IPsec 或使用 NEPacketTunnelProvider 实现自定的隧道传输协议 创建基于 IP 的 VPN 时 你的实现会告诉系统 哪些流量需要通过隧道传输 并指定包含和排除的路由 在 macOS 上 管理员或其他进程可以 在 App 外部修改路由表 更精确的路由可能会干扰 VPN 路由 Network Extension 可让 App 强制实施自己的 VPN 路由 确保这些路由始终优先并得到执行 Network Extension 使 App 能轻松 管理隧道路由要求 对于分割隧道 VPN 你可以启用 enforceRoutes 选项 以强制实施包含的路由和排除的路由 对于全隧道 VPN 你可以启用 includeAllNetworks 选项 强制所有流量通过隧道路由 启用这个选项后 任何指定的 excludedRoutes 都将无效 这两个选项都支持配置例外 以允许系统定义的流量绕过隧道 确保 VPN 运行时 关键服务能正常工作 例如 启用 excludeLocalNetworks 如果你希望本地网络服务 如隔空投送 和隔空播放等绕过隧道 或者启用其他例外 以允许通话、消息、 Apple 推送通知服务 和设备通信等服务绕过隧道 这些例外大部分是默认启用的 但可以根据安全需求进行自定义

    构建 VPN App 支持使用 Network Extension API 它可以与其他网络 和系统组件无缝协作 强烈建议不要使用其他任何方式 来构建 VPN App 在 Mac 上应避免使用数据包过滤器 或直接修改路由表 这些做法不受支持 并且可能与系统或其他 App 安装的流量过滤和路由规则发生冲突 如果你的 VPN App 目前未使用 Network Extension 你应该尽快迁移 以确保 App 与系统兼容 并与系统的所有重要功能兼容 比如隔空投送、 Mac 虚拟显示器、Xcode 以及 随航等连续互通功能 NEPacketTunnelProvider 应仅用于 通过隧道传输 IP 流量 不建议将它用于任何其他目的 NEPacketTunnelProvider 在 IP 层运行 不会接收其他任务需要的 流或 App 级元数据 例如代理 DNS 请求或内容过滤 如果你的目标是过滤内容 请使用 Content Filter API 接下来我将介绍它 Content Filter API 可让你 检查设备上的流量 以便在流量经过网络栈时 进行监控或做出过滤决策 常见用例包括个人防火墙 它可以检查并阻止 被视为对个人设备有害的流量 或受管理的设备上的 企业流量监控 App 它可以在高度监管的环境中 监控员工的所有入站和出站网络流量

    创建一个或两个内容过滤器 提供程序的子类 以获取所需的流量 NEFilterDataProvider 提供 TCP 和 UDP 流 以及其他 IP 协议流量 例如 ICMP

    对于 Mac 上的 App NEFilterPacketProvider 的子类 将获取第 2 层数据包

    过滤器提供程序无法修改流量 只能向系统提供过滤器裁决 即允许或丢弃流量 iOS 系统范围的内容过滤器 仅在受监督设备上受支持

    使用 NEFilterDataProvider 和 NEFilterPacketProvider 的 内容过滤器适合当 App 需要 根据流量或通过数据包检测 来过滤内容的情况 但有时你可能需要 根据 App 级元数据 (比如 URL) 来进行过滤 使用传统的内容过滤器时 App 可以根据流量级信息 做出过滤决策 比如这个 HTTPS 请求的主机和端口

    但有些 App 可能不想阻止整个网站 只想过滤特定资源 HTTPS 请求是加密的 因此传统的内容过滤器 无法获取 URL 请求的必要详细信息 来做出准确的过滤决策 比如请求的特定资源 或 URL 中的查询参数 从 iOS 26 开始 你可以创建一种 新型过滤器 即 URL 过滤器 它根据完整 URL 做出内容过滤决策 Network Extension URL 过滤器支持 过滤全系统的 HTTP 和 HTTPS 请求 与请求的完整 URL 进行匹配 借助这项技术 你可以构建 阻止互联网上特定资源的 App 例如 你可以构建一个家长控制 App 来阻止对儿童有害的网站 学校使用的 App 可以 使用过滤器来防止学生 访问社交媒体、 赌博或许多网站上的其他敏感内容 企业可能希望为员工屏蔽 与工作无关的内容

    在 Apple 我们将隐私视作 每个人的基本权利 URL 过滤使用最先进的加密技术 帮助你构建基于完整 URL 有效做出过滤决策的 App 同时不损害隐私 URL 可以泄露敏感信息 例如 唯一标识符或浏览历史记录 Network Extension 旨在帮助你构建 基于完整 URL 做出准确过滤决策的 内容过滤器 但 URL 内容不会透露给 App 并且对后端服务器的所有数据库查询 都是匿名的 以保护隐私 整个后端服务器链 包括 Apple 的和你的服务器 都无法访问任何内容和身份信息 URL 过滤使用 URL 数据集来执行 数据集包含你想要阻止的 URL 你需要提供设备端预过滤器 和用于 URL 查找的 设备外数据库服务器 系统使用数据集 代表你执行整个过滤过程 你的 App 不会在过滤路径中执行 并且无法访问流量 系统执行设备端预过滤以提高性能 并可能执行设备外数据库查找 以获得最终裁决 所有设备外数据库交换都受到保护 以确保内容和身份隐私得到保护 由于具有强大的隐私保护功能 URL 过滤器在受管和非受管设备上 都受到支持 在介绍这项功能的工作原理之前 我将介绍构成它的底层技术 URL 过滤器依赖于四项技术: 布隆过滤器、私密信息检索、 Privacy Pass 和 Oblivious HTTP 中继

    我将从布隆过滤器开始介绍

    对于 URL 过滤 Network Extension 将使用布隆过滤器 你应基于要阻止的 URL 的数据集 创建这些过滤器 布隆过滤器基于预定义的数据集构建 使用多个哈希函数对数据集 中的每个元素进行哈希处理 并在固定大小的位数组中 设置相应的位 构建完成后 你可以使用布隆过滤器 测试某个元素是否是数据集的成员 布隆过滤器永远不会产生假负例 但可能会产生假正例

    布隆过滤器将用作预过滤器 进行快速检查 如果匹配结果为负 所检查的 URL 一定 不在 URL 数据集中 将立即被允许 无需进一步验证 如果匹配结果为正 由于可能存在假正例 因此匹配结果不是确定的 需要进一步验证 例如设备外数据库查找 才能得出最终结论

    使用布隆过滤器作为预过滤器 大大减少了设备外数据库查找 从而提高了性能

    第二项关键技术是私密信息检索 私密信息检索 (PIR) 使客户端能够对 托管关键词值数据库的服务器 执行数据库查找 而不向服务器透露 查询的关键词和查找结果 它依赖于同态加密 允许对加密数据进行计算 使私密信息检索服务器能够 对加密查询执行数据库查找 因此服务器无法访问查询或响应内容

    它的运作机制是这样的 设备上的客户端生成加密密钥 并在设备上保密 密钥对发送到服务器的所有查询 进行加密 然后服务器使用加密查询 执行数据库查找 服务器在处理过程中的任何时候 都无法解密查询 服务器将加密的响应发回客户端 客户端在设备上接收并解密响应 只有客户端可以解密服务器的响应 甚至服务器自身都不行 然后客户端使用查找结果 私密信息检索技术已用于 许多隐私保护功能 例如 Live Caller ID Lookup API 对于 URL 过滤 私密信息检索服务器 使用加密查询执行 URL 查找 这使服务器能够提供过滤功能 而不需要知道所请求的 URL 和返回的结果 第三项关键技术是 Privacy Pass 私密信息检索使用 Privacy Pass 向服务器进行匿名身份验证 这使你可以确保服务器仅响应 经过身份验证和授权的设备 发出的查询 而无法跟踪各个请求的历史记录 每个设备都要经过初始认证 以获得长期凭证 然后可用于检索 Privacy Pass 颁发者颁发的 加密盲签名令牌 设备使用这些令牌向服务器 进行身份验证 并且无需透露身份 最后一项关键技术是 Oblivious HTTP 中继 Oblivious HTTP 中继 是一种隐私保护代理 它隐藏了源 IP 地址 这有助于防止服务器跟踪 和链接请求 它有三个实体:客户端、中继和网关 客户端使用网关的公钥加密请求 然后将加密请求发送到中继 中继从传入请求中删除 客户端的 IP 地址 并将请求转发到网关 网关解密请求并发送到目标资源 中继不知道请求的内容 而网关和目标资源 不知道流量来自哪里

    介绍完这四种技术后 接下来我将介绍如何设置解决方案 以及 URL 过滤的运作方式

    从设备上安装的 URL 过滤器 App 开始 App 将提供 Network Extension、 URL 数据集 (以布隆过滤器的形式) 以及托管在私密信息检索服务器上的 URL 数据库 这用于进行 URL 查找

    服务器设置还包括 Privacy Pass 颁发者 用于匿名身份验证

    URL 过滤器 App 告诉 Network Extension 私密信息检索服务器的连接地址 App 还实现了一个新的 App 扩展 用于将布隆过滤器获取到设备上

    所有数据库查询和响应都通过 Apple 托管的 Oblivious HTTP 中继 进行交换 这意味着 Oblivious HTTP 网关 将由你托管 以将流量转发到服务器

    使用 Oblivious HTTP 进行 URL 过滤的请求 经过 Apple 托管的 Oblivious HTTP 中继

    这项功能必须经过申请才可获得 请使用文档中提供的申请表 Apple 将验证 Oblivious HTTP 中继 的服务器配置 然后才会批准 你必须先完成这件事 才能 在 App Store 上、 通过 TestFlight、Ad Hoc、Developer ID 或企业签名版本分发 App 开发签名版本不受这个要求的限制 允许你立即开始构建 和测试过滤 App

    一切准备就绪后 我将通过一个例子 来展示 URL 过滤的运作方式 URL 过滤将完全由系统执行 App 和 App 扩展 不会在这个路径中执行 系统将检查所有 URL 请求 根据数据集检查每个 URL 在这个示例中 浏览器向 example.com 上的 某个特定资源发起 URL 请求 系统首先根据布隆过滤器 检查所请求的 URL 布隆过滤器的负匹配意味着 这个 URL 一定不在数据集中 URL 将被允许 浏览器继续执行 HTTP 请求

    现在浏览器向 example.com 上的 另一个资源 发起另一个 URL 请求 并从布隆过滤器获得正匹配 由于可能存在假正例 正匹配意味着 这个 URL 可能在数据集中 这时 系统执行设备外查找 向私密信息检索服务器 发送加密查询 服务器使用收到的加密查询 执行数据库查找 以获取匹配结果 服务器不知道查询内容或返回内容 服务器对匹配结果进行加密并回复

    设备上的系统解密响应 如果返回的结果表明匹配 URL 将被拒绝 浏览器请求失败

    Network Extension URL 过滤 是系统范围的 会检查通过 Apple 网络 API 如 WebKit 和 URLSession 发送的所有 HTTP 请求 但对于不使用这些网络 API 的 App 系统不会自动检查 它们的 HTTP 流量 如果你构建的 Web 浏览器或任何 App 不使用 WebKit 或 URLSession 请采用 Participation API 在发送前检查所有 URL 请求 使用请求的 URL 调用 NEURLFilter.verdict(for: url) 并根据返回的裁决处理请求 如果 URL 被拒绝 则令请求失败 现在你已经了解 URL 过滤器的运作方式 我将说明创建它的步骤 设置私密信息检索服务器 创建布隆过滤器 然后构建 URL 过滤器 App 和 App 扩展

    首先是设置私密信息检索服务器 使用示例代码来开始 它提供了一个示例 私密信息检索服务器 在项目存储库中可以找到 私密信息检索服务器和 Privacy Pass 颁发者的示例实现 要自定义服务器以进行 URL 过滤 创建具有特定名称格式的用例 用例名称必须 以 App 的套装标识符为前缀 后跟字符串 url.filtering

    私密信息检索服务器 以键值格式存储数据记录 对于 Network Extension URL 过滤器 相应地设置数据集格式 对于每条记录 将键设置为 URL 字符串 将值设置为整数 1 第二步是构建布隆过滤器 基于 URL 数据集构建布隆过滤器 并使用 NEURLFilterControlProvider API 文档中指定的哈希函数和方法

    根据数据集的静态或动态程度 决定如何将布隆过滤器 传送到设备上 以及你需要的更新频率 对于很少更改的静态数据集 将布隆过滤器添加到 App 套装中 并让 App 扩展从 App 套装 资源中获取它 后续的布隆过滤器更新 可以包含在 App 更新中 对于频繁更改的动态数据集 将系统配置为定期触发获取 当系统触发获取时 App 扩展可以从服务器下载 布隆过滤器 下一步是构建 URL 过滤器 App 向 App 添加新的 Network Extension url-filter-provider 授权 这允许你使用 URL Filter API 在 App 中使用 NEURLFilterManager API 创建配置并管理 URL 过滤器 导入 Network Extension 框架 并使用 NEURLFilterManager 共享单例实例 只需几个步骤即可 配置和启用 URL 过滤器 首先从磁盘载入 URL 过滤器配置的 最新快照 如果有的话 然后在配置中设置必需的属性 告诉系统如何连接 私密信息检索服务器 并与它通信

    配置其他可选参数 以微调 URL 过滤器

    最后 启用并保存 URL 过滤器配置 现在你的 URL 过滤器将生效

    URL 过滤器支持消费者部署 和企业部署 对于 URL 过滤器 App 的 大规模企业部署 通过移动设备管理 将 URL 过滤器配置描述文件 推送到受管理的设备 现有的“内容过滤器”有效负载 现在支持: 用于启用 URL 过滤器功能的新键 以及用于配置 URLFilterParameters 的新字典 MDM URL 过滤器的配置 需要设备监督

    下一步是构建 URL 过滤器 App 扩展 要创建 App 扩展 使用 Xcode 中新的 URL 过滤器 App 扩展模板 将 NEURLFilterControlProvider 协议实现为 App 扩展 这个协议允许 App 扩展 将布隆过滤器获取到设备上 导入 Network Extension 框架 并实现 NEURLFilterControlProvider 协议 fetchPrefilter 函数的实现 将由系统调用 以根据你配置的时间间隔 获取布隆过滤器 在实现中 获取布隆过滤器并返回给系统 实现可以从App 套装资源中 检索布隆过滤器数据 也可以从服务器下载 将 App 提交到 App Store 或 TestFlight 之前 确保你的功能请求已提交并得到批准 以便请求可以流向你的 Oblivious HTTP 网关 Network Extension 是一个强大的框架 可让你通过隧道传输流量 和过滤流量等等 回顾如何使用 Network Extension 使用适当的 API 帮助你构建 App 让它提供所需功能并与系统良好协作 使用网络中继实现 TCP 和 UDP 流量 的安全远程访问 使用 Network Extension 构建 VPN 解决方案 使用 Network Extension URL Filter API 创建强大的内容过滤器 查看示例服务器和 App 帮助你轻松入门 感谢观看

    • 22:15 - Use participation API to check URLs before sending requests

      // Use participation API to check URLs before sending requests
      
      import NetworkExtension
      
      func checkURL(url: URL) async throws -> Bool {
        var passRequest : Bool = true
      
        let verdict = await NEURLFilter.verdict(for: url)
      
        if verdict == .deny {
          passRequest = false
        }
        return passRequest
      }
    • 25:01 - Configure and manage URL Filter

      // Configure and manage URL Filter
      
      import NetworkExtension
      
      let manager = NEURLFilterManager.shared
      
      try await manager.loadFromPreferences()
      
      try manager.setConfiguration(
          pirServerURL: URL(string:"https://pir.example.com")!,
          pirPrivacyPassIssuerURL: URL(string:"https://privacypass.example.com")!,
          pirAuthenticationToken: "1234",
          controlProviderBundleIdentifier: "com.example.myURLFilter.extension")
      
      manager.prefilterFetchInterval = 86400 // fetch every 1 day
      manager.shouldFailClosed = false
      manager.localizedDescription = "Alice's URL Filter"
      manager.isEnabled = true
      
      try await manager.saveToPreferences()
    • 26:41 - Implement NEURLFilterControlProvider protocol

      // Implement NEURLFilterControlProvider protocol
      
      import NetworkExtension
      
      class URLFilterControlProvider: NEURLFilterControlProvider {
      
        func fetchPrefilter() async throws -> NEURLFilterPrefilter? {
              
          // Fetch your Bloom filters data from your app bundle or from your server
          let data = NEURLFilterPrefilter.PrefilterData.temporaryFilepath(fileURL)
          let result = NEURLFilterPrefilter(data: data,
                                            bitCount: numberOfBits,
                                            hashCount: numberOfHashes,
                                            murmurSeed: murmurSeed)
          return result
        }
      }
    • 0:00 - 开场介绍
    • 了解 Network Extension,这个框架可用于在 Apple 平台上构建能自定网络功能的 App。在 iOS 和 macOS 26 中,这个框架提供了 VPN、中继和内容过滤器,以及基于 URL 的全新过滤功能。

    • 1:48 - NetworkExtension 导览
    • Network Extension 框架使 iOS 和 macOS 中的 App 能够自定网络功能。这包括 Wi-Fi 管理、热点交互、针对受限网络的本地推送通知、DNS 安全、内容过滤,以及安全的远程资源访问。

    • 3:21 - 访问远程资源
    • 安全远程访问使用户能够从外部位置安全地连接到内部系统,也可以在不安全的网络上保护个人流量。 Network Extension 提供了两种主要的流量隧道传输方法:网络中继和基于 IP 的 VPN。网络中继使用 MASQUE 协议,经过性能优化,适用于通过隧道将 TCP 或 UDP 流量传输到特定 App,如云托管的企业 App。你可以使用“NERelayManager”或通过 MDM 描述文件来配置中继。 基于 IP 的 VPN 最适合用于将企业网络扩展至员工端,提供完整的网络访问,也适用于那些需要通过公司网络来发送所有流量的高度监管组织。个人也可以使用这种方法在不安全的网络上保护自己的隐私。 你可以使用 NEVPNManager API 创建基于 IP 的 VPN 隧道,利用 IKEv2 或 IPsec 等内置协议或自定协议。Network Extension 允许 App 强制执行 VPN 路由,确保它们具有优先权,并支持分割隧道和全隧道 VPN 配置,且支持可配置的例外。我们推荐且支持使用 Network Extension API 来构建 VPN App,同时强烈建议不要使用其他方法,否则可能会导致兼容性问题。请尽快将 VPN App 迁移到 Network Extension。

    • 8:40 - 过滤内容
    • 借助 Content Filter API,你可以创建个人防火墙和企业流量监控 App。它允许 App 检查流量并提供“允许”或“丢弃”的裁决。

    • 10:54 - 创建 URL 过滤器
    • 在 iOS 26 中,你可以创建一个 URL 过滤器,使 App 能够在整个系统范围内屏蔽互联网上的特定资源。这项技术对于家长控制 App、学校和企业特别有用,可以防止用户访问不恰当或与工作无关的内容。 URL 过滤器使用先进的加密技术来大力保护用户隐私。这个系统结合了四项关键技术:布隆过滤器、私密信息检索 (PIR)、Privacy Pass 和 Oblivious HTTP 中继。 你的 App 不会在过滤路径中执行,并且无法访问 URL 流量。此外,Apple 和你的服务器都无法访问 URL 流量或身份信息。URL 过滤器在受管和非受管设备上都受到支持。 它使用 Apple 托管的 OHTTP 中继,你必须应用这个中继来配置和分发具有分发签名的 App。开发签名版本不受这个要求的限制。 如果你正在构建的 App 不使用 WebKit 或 URLSession,请将每个 URL 传递给 NEURLFilter API 并遵循返回的裁决。 对于企业部署,可通过移动设备管理将 URL 过滤器配置描述文件推送到受管理的设备上。

Developer Footer

  • 视频
  • WWDC25
  • 借助 NetworkExtension 优化网络流量过滤和隧道
  • 打开菜单 关闭菜单
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    打开菜单 关闭菜单
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    打开菜单 关闭菜单
    • 辅助功能
    • 配件
    • App 扩展
    • App Store
    • 音频与视频 (英文)
    • 增强现实
    • 设计
    • 分发
    • 教育
    • 字体 (英文)
    • 游戏
    • 健康与健身
    • App 内购买项目
    • 本地化
    • 地图与位置
    • 机器学习与 AI
    • 开源资源 (英文)
    • 安全性
    • Safari 浏览器与网页 (英文)
    打开菜单 关闭菜单
    • 完整文档 (英文)
    • 部分主题文档 (简体中文)
    • 教程
    • 下载 (英文)
    • 论坛 (英文)
    • 视频
    打开菜单 关闭菜单
    • 支持文档
    • 联系我们
    • 错误报告
    • 系统状态 (英文)
    打开菜单 关闭菜单
    • Apple 开发者
    • App Store Connect
    • 证书、标识符和描述文件 (英文)
    • 反馈助理
    打开菜单 关闭菜单
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program (英文)
    • News Partner Program (英文)
    • Video Partner Program (英文)
    • 安全赏金计划 (英文)
    • Security Research Device Program (英文)
    打开菜单 关闭菜单
    • 与 Apple 会面交流
    • Apple Developer Center
    • App Store 大奖 (英文)
    • Apple 设计大奖
    • Apple Developer Academies (英文)
    • WWDC
    获取 Apple Developer App。
    版权所有 © 2025 Apple Inc. 保留所有权利。
    使用条款 隐私政策 协议和准则