iOS打包归档失败:SQLCipher.bundle 未找到
iOS打包归档失败:SQLCipher.bundle 未找到
嘿,遇到这个SQLCipher.bundle找不到的问题我之前帮好几个开发者搞定过,别慌,咱们一步步来排查解决:
1. 补全依赖配置并更新
看你贴的pubspec.yaml里fluttertoast的版本没写完,先把所有依赖的版本号补全,然后执行:
flutter pub get
确保项目的Flutter依赖都正确拉取到本地。如果你的项目里用到了依赖SQLCipher的包(比如sqflite_sqlcipher),也要确认这个包的版本和你当前的Flutter SDK(你配置的是>=3.2.0 <4.0.0)兼容。
2. 检查并修复iOS Pod配置
打开iOS目录下的Podfile,确保里面正确引入了SQLCipher的Pod,示例配置如下:
target 'Runner' do use_frameworks! use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) # 手动指定SQLCipher的版本,确保和依赖包要求匹配 pod 'SQLCipher', '~> 4.5.5' end
然后进入iOS目录执行命令更新Pod依赖:
cd ios pod deintegrate pod install --repo-update
这一步会重新下载并配置所有iOS端的依赖,包括SQLCipher。
3. 确认Xcode中已正确添加SQLCipher.bundle
打开Xcode项目(路径是ios/Runner.xcworkspace),按以下步骤检查:
- 左侧文件导航栏里找到
Frameworks目录,看看有没有SQLCipher.bundle - 如果没有,右键
Frameworks→Add Files to "Runner"... - 找到路径
ios/Pods/SQLCipher/SQLCipher.bundle,勾选Copy items if needed后点击Add
4. 检查Xcode Build Phases配置
进入Xcode的Runner target → Build Phases标签:
- 查看
Copy Bundle Resources列表,确保SQLCipher.bundle在里面,没有的话点击+号添加 - 再检查
Link Binary With Libraries列表,确认SQLCipher.framework已被添加
5. 清理缓存后重新构建
最后做一次彻底的清理,避免缓存问题:
- Xcode中按
Cmd+Shift+K清理项目,再按Cmd+Option+Shift+K清理全局构建缓存 - 执行
flutter clean清理Flutter项目缓存 - 重新执行
flutter pub get和cd ios && pod install - 尝试重新归档(Xcode中点击
Product→Archive)
按照这些步骤走下来,大部分情况下这个归档失败的问题都能解决。如果还是不行,可以检查下Xcode的Build Settings里的Framework Search Paths和Bundle Resource Paths,确保它们包含SQLCipher相关文件的路径。
内容来源于stack exchange
相关产品推荐
相关产品推荐

