如何不连接Xcode在实体iPhone上运行Flutter应用
Flutter应用安装到iPhone后脱离Xcode无法运行的解决方案
问题根因
你通过Xcode默认安装的是Debug模式的Flutter应用,这类应用内置调试服务,必须和Xcode调试器保持连接才能正常运行,同时调试场景的签名有效期短、限制多,所以关闭Xcode或者断开设备连接后就无法打开。
可行解决方案
方案1:付费开发者账号打Ad Hoc包(推荐,有效期1年)
- 登录Apple Developer后台,把你要安装应用的iPhone的UDID添加到账号的设备列表中
- 打开Flutter项目ios目录下的
Runner.xcworkspace,在Xcode的「Signing & Capabilities」栏选择绑定你的付费开发者账号,将Build Configuration切换为Release模式 - 终端执行打包命令:
flutter build ios --release - 打包完成后在Xcode依次选择「Product > Archive」,归档结束后选择「Distribute App > Ad Hoc」,按照引导导出ipa安装包
- 导出的ipa可以通过爱思助手、Apple Configurator 2等工具直接安装到已添加UDID的iPhone上,安装后完全不需要依赖Xcode运行,有效期为1年
方案2:免费Apple ID侧载安装(无付费账号可选,有效期7天)
- 同样切换到Release模式执行
flutter build ios --release打包,导出ipa文件 - 使用AltStore、Sideloadly等侧载工具,用你的免费Apple ID给ipa签名后安装到iPhone
- 安装后不需要依赖Xcode运行,不过免费账号签名的应用有效期只有7天,到期后需要重新签名安装
方案3:TestFlight分发(适合多设备测试,有效期90天)
- 完成Release模式Archive后,将构建版本上传到App Store Connect
- 提交TestFlight外部/内部测试申请,审核通过后所有测试人员可以直接通过TestFlight应用安装你的Flutter应用
- 安装后不需要依赖Xcode,单版本有效期为90天
注意:无论用哪种方案,都必须切换到Release模式打包,Debug模式的应用天生依赖调试器连接,哪怕签名正常也无法脱离Xcode运行。
内容的提问来源于stack exchange,提问作者IOrakle
相关产品推荐
相关产品推荐

