You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter iOS端InAppWebView无法加载ClickUp链接问题

iOS Flutter InAppWebView加载ClickUp登录页失败的解决方案

问题详情

在iOS平台使用Flutter的InAppWebView组件加载ClickUp登录链接(https://app.clickup.com/login)时出现加载失败,报错日志如下:

[ProcessSuspension] 0x11601c2a0 - ProcessAssertion::acquireSync 
Failed to acquire RBS assertion 'WebProcess Background Assertion' for process with PID=14436, error: 
Error Domain=RBSServiceErrorDomain Code=1 "target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit" 
UserInfo={NSLocalizedFailureReason=target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit}

当前使用的InAppWebView代码:

InAppWebView(
  initialUrlRequest:
      URLRequest(url: Uri.parse('https://app.clickup.com/login')),
  initialOptions: InAppWebViewGroupOptions(
    crossPlatform: InAppWebViewOptions(javaScriptEnabled: true),
  ),
  onWebViewCreated: (InAppWebViewController controller) {
    webView = controller;
  },
  
  onLoadError: (controller, url, code, message) =>
      debugPrint(message.toString()),
),

解决步骤

1. 升级flutter_inappwebview到最新稳定版

该错误多因旧版本插件对iOS 16+的RunningBoard权限适配不足,执行以下命令升级:

flutter pub upgrade flutter_inappwebview

2. 配置iOS特定WebView选项

修改InAppWebView初始化配置,添加iOS专属的进程适配参数:

InAppWebView(
  initialUrlRequest: URLRequest(url: Uri.parse('https://app.clickup.com/login')),
  initialOptions: InAppWebViewGroupOptions(
    crossPlatform: InAppWebViewOptions(
      javaScriptEnabled: true,
      cacheEnabled: true,
      useShouldOverrideUrlLoading: true, // 处理登录页重定向
    ),
    ios: IOSInAppWebViewOptions(
      allowsBackForwardNavigationGestures: true,
      enablesViewportScale: false, // 避免Web进程断言失败
      processPool: WKProcessPool(), // 共享进程池确保权限正常
    ),
  ),
  onWebViewCreated: (InAppWebViewController controller) {
    webView = controller;
  },
  onLoadError: (controller, url, code, message) =>
      debugPrint(message.toString()),
),

3. 检查iOS Info.plist配置

确保Info.plist中添加WebView相关权限,避免进程被系统挂起:

  • 添加NSAllowsArbitraryLoadsInWebContent并设为YES(适配HTTPS重定向)
  • 若存在跨域资源加载需求,在NSAppTransportSecurity字典下添加NSAllowsArbitraryLoads并设为YES

4. 跟踪登录页加载状态

ClickUp登录页存在多次重定向,添加回调跟踪加载过程:

onLoadStart: (controller, url) {
  debugPrint('开始加载: $url');
},
onLoadStop: (controller, url) async {
  debugPrint('加载完成: $url');
  // 可在此检查登录状态
},

补充排查方案

若以上方法无效,可尝试:

  • 清理构建缓存:flutter clean && cd ios && pod deintegrate && pod install && cd ..
  • 切换到真机测试(模拟器可能存在权限模拟问题)

内容的提问来源于stack exchange,提问作者CoreSK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:07:40