SOURCE RECORD · S05

S05 · VPN TP

UI testing advertising early return

公开摘录 · 截取原件于 2026-09-12 / Captured 2026-09-12

保留原行号。个人/账户信息如有删除,已用 REDACTED 标识。原文件 SHA-256 只用于识别截取时的本机原文件;不能证明编写或提交时间,也不等于脱敏下载文件的哈希。

Original line numbers are retained. Redactions are explicitly marked. The original full-file hash identifies a captured local file, not its creation/submission time or the redacted download. Public-file hashes are listed separately. This is selected source, not a whole-repository or binary absence finding.

Project key: vpn
Original relative path: ConfigStudio/Advertising/AdMobSupport.swift
Captured: 2026-09-12T18:57:15+08:00
Original full-file SHA256: 07f16fbbe975dc0d5ab0e8c45c6d4aa4e86cb3de22d78ae31fcc9d4eec27f3dd
Evidence level: local source excerpt
Build correspondence: not yet established with an Apple-received binary.
Line numbers refer to the captured original file. Gaps are explicitly marked. No source code was changed.

Original lines 135 to 162

0135      func configure() async {
0136          let arguments = ProcessInfo.processInfo.arguments
0137  #if DEBUG
0138          if arguments.contains("-ExerciseLaunchAdGate") {
0139              await exerciseLaunchGateForUITesting()
0140              return
0141          }
0142          if arguments.contains("-AdMobLaunchTest") {
0143              await performDebugAdConfiguration()
0144              return
0145          }
0146  #endif
0147          if arguments.contains("-UITesting") {
0148              launchGateState = .complete
0149              configurationFinished = true
0150              return
0151          }
0152          if let configurationTask {
0153              await configurationTask.value
0154              return
0155          }
0156          let task = Task { @MainActor [weak self] in
0157              guard let self else { return }
0158              await self.performConfiguration()
0159          }
0160          configurationTask = task
0161          await task.value
0162      }