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

iOS arm64架构下Reachability符号未定义链接错误求助

解决Reachability框架未找到及多模块依赖导出问题

报错信息

warning: Could not find or use auto-linked framework 'Reachability': framework 'Reachability' not found
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_Reachability", referenced from

项目结构

appModule
    appFeatures
        api
        apiImpl -> 已添加Reachability pod
    sharedFlavour
        common
        prod -> 依赖common,导出依赖、api项目
        qa  -> 依赖common,导出依赖、api项目

解决步骤

1. 修正apiImpl模块的CocoaPods配置

在apiImpl模块的构建脚本(build.gradle.kts或build.gradle)中,确保Reachability依赖可传递到上层模块:

plugins {
    id("kotlin-multiplatform")
    id("cocoapods")
}

cocoapods {
    pod("Reachability") {
        version = "~> 3.2" // 替换为你使用的版本
    }
    transitive = true // 开启依赖传递
}

kotlin {
    ios {
        binaries {
            framework {
                baseName = "apiImpl"
                export(pod("Reachability")) // 将框架导出给上层依赖
            }
        }
    }
}

2. 配置prod/qa模块传递apiImpl依赖

在prod和qa模块的构建脚本中,确保导出apiImpl的依赖,让app模块能获取到Reachability:

kotlin {
    ios {
        binaries {
            framework {
                baseName = "prod" // qa模块替换为"qa"
                export(project(":appModule:appFeatures:apiImpl"))
            }
        }
    }
}

dependencies {
    implementation(project(":appModule:appFeatures:apiImpl"))
}

3. 确保app模块的CocoaPods配置正确

app模块无需重复声明Reachability,通过依赖传递获取即可:

plugins {
    id("com.android.application")
    id("kotlin-android")
    id("cocoapods")
}

cocoapods {
    ios.deploymentTarget = "14.0" // 匹配项目的iOS最低版本
}

dependencies {
    // 根据环境选择prod或qa依赖
    implementation(project(":appModule:sharedFlavour:prod"))
    // 或 implementation(project(":appModule:sharedFlavour:qa"))
}

4. 清理缓存并重新构建

  • 执行命令清理Gradle缓存:./gradlew clean
  • 进入iOS项目目录,执行pod install重新安装依赖
  • 重新构建项目验证问题是否解决

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:38:23