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

Flutter应用部署至AppStoreConnect因Framework签名失败求助

解决Flutter IPA上传AppStoreConnect的90035签名错误问题

核心问题分析

你遇到的资产验证失败(90035)错误,核心原因有两个:

  1. 未使用分发证书:开发证书仅用于调试和真机测试,上传AppStore必须使用专门的分发证书
  2. 嵌入框架的签名配置错误:Flutter依赖的第三方框架不需要单独签名,需要禁用它们的独立签名设置

具体解决步骤

1. 创建并配置分发证书与Provisioning Profile

  • 登录Apple开发者后台,进入「Certificates, Identifiers & Profiles」
  • 生成App Store Distribution类型的证书(注意和开发证书区分)
  • 创建对应App ID的App Store类型Provisioning Profile,绑定刚生成的分发证书
  • 在Xcode中打开Runner target的「Signing & Capabilities」,切换到Release配置:
    • 选择你的开发者团队,Xcode会自动匹配证书和Profile;若自动配置失败,手动导入生成的Provisioning Profile

2. 正确配置嵌入框架的签名

  • 进入Runner target的「Build Phases」->「Embed Frameworks」
  • 选中所有Flutter依赖框架(如FBLPromises.framework、flutter_native_splash.framework等),取消勾选「Code Sign On Copy」
  • 找到这些依赖的独立target(比如flutter_native_splash的target),在其「Signing & Capabilities」中设置「Signing Certificate」为Don't Code Sign
    • 这个操作完全合规:Apple允许嵌入的框架由主App(Runner)的签名覆盖,无需单独签名,不会影响应用安全性

3. 重新构建并上传IPA

  • 执行命令清理项目:flutter clean
  • 构建生产版IPA:flutter build ipa --release
  • 打开Xcode「Organizer」,选择生成的IPA,点击「Distribute App」,选择「App Store Connect」完成上传
    • 确保上传过程中使用的是分发证书对应的配置

4. 额外排查项

  • 升级Flutter到最新稳定版:旧版本可能存在签名逻辑的兼容问题
  • 检查第三方依赖版本:确保flutter_native_splash等依赖适配当前Flutter和iOS版本
  • 确认Xcode使用「New Build System」:在Xcode「File」->「Project Settings」中设置,旧构建系统可能导致签名异常

关键疑惑解答

  • 是否需要分发证书?:是,必须使用App Store分发证书,开发证书无法用于AppStore上传
  • 禁用框架签名是否合规?:完全合规,这是Flutter iOS打包的标准配置,主App的签名已经保证了应用整体的安全性
  • 问题是否源于Flutter侧?:不是,本质是iOS签名配置问题,按照上述步骤调整后即可解决

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:16:15