Fastlane执行Delivery命令时YandexMapsMobile 4.4.0版本报错求助(链接器错误+Info.plist字段缺失)
Fastlane执行Delivery命令时YandexMapsMobile 4.4.0版本报错求助(链接器错误+Info.plist字段缺失)
兄弟,我之前也碰到过几乎一模一样的问题!你这个错误的核心原因特别明确:YandexMapsMobile 4.4.0版本的框架包本身漏掉了Info.plist里的MinimumOSVersion必填字段,导致Application Loader在验证安装包的时候直接触发409错误卡壳了。
给你几个亲测有效的解决办法,你可以根据自己的项目情况选:
手动补全框架Info.plist字段(快速临时修复)
- 找到项目里的
YandexMapsMobile.framework文件,右键选择「显示包内容」 - 打开里面的
Info.plist文件,添加MinimumOSVersion这个键,值设置成你项目最低支持的iOS版本(比如你的项目最低支持iOS 12.0,就填12.0) - 保存修改后,重新用Fastlane打包并执行Delivery命令,基本就能过验证了
- 找到项目里的
用CocoaPods钩子自动处理(适合长期维护)
如果你的项目是用CocoaPods管理依赖的,推荐在Podfile里加个post_install脚本,每次执行pod install时自动帮你补全这个字段,避免下次更新依赖又踩坑:post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'YandexMapsMobile' # 定位到框架的Info.plist路径 plist_path = "#{target.product_reference.dirname}/Info.plist" # 解析并修改plist内容 plist = Plist.parse_xml(plist_path) plist['MinimumOSVersion'] = '12.0' # 替换成你项目实际的最低iOS版本 # 保存修改后的plist File.write(plist_path, Plist::Emit.dump(plist)) end end end加完脚本后执行
pod install重新同步依赖,再跑Fastlane的Delivery命令就没问题了。升级YandexMapsMobile到新版本(根治问题)
这个应该是4.4.0版本的已知bug,官方后续发布的版本大概率已经修复了Info.plist字段缺失的问题。你可以尝试把YandexMapsMobile升级到比4.4.0更高的稳定版本,升级后框架本身的Info.plist就会自带MinimumOSVersion,不用再手动折腾了。
备注:内容来源于stack exchange,提问作者Daniil
相关产品推荐
相关产品推荐

