当前位置: 首页 > ai >正文

升级xcode16之后react-native-zip-archive不兼容,unsupported option ‘-G‘

问题

升级xcode到16之后,xcode build报错:unsupported option '-G' for target 'x86_64-apple-ios13.4-simulator' (in target 'RNZipArchive' from project 'Pods')

出现原因

在 React Native 项目中,当你将 Xcode 升级到 16 后,可能会遇到 RNZipArchive 相关的编译错误,特别是与 -G 选项相关的错误。这个错误通常是由于 Xcode 16 使用了更新的编译器或构建工具链,导致某些旧的构建配置不再兼容。
在issue里面发现,主要是因为-GCC_PREPROCESSOR_DEFINITIONS

解决办法

1 升级react-native-zip-archive

react-native-zip-archive已经兼容xcode 16,但是需要把min ios version 提升到15.5

2 修改Podfile

post_install do |installer|installer.pods_project.targets.each do |target|if target.name == 'RNZipArchive'target.source_build_phase.files.each do |file|if file.settings && file.settings['COMPILER_FLAGS']file.settings['COMPILER_FLAGS'] = ''endendendend
end

3 修改react-native-zip-archive源码

a. 打开node_modules/react-native-zip-archive/RNZipArchive.podspec
b. 注释s.compiler_flags =这一行
c. 使用patch-package保存修改
d. 执行pod install

4 修改project.pbxproj

前面3种办法均来自github issue,其核心目的都是通过修改或者升级来移除-GCC_PREPROCESSOR_DEFINITIONS
因为项目的特殊性,以及升级组件可能会带来新的问题,再加上方法2和3都不起作用,我在zip项目里面清理了和-GCC_PREPROCESSOR_DEFINITIONS相关的代码,error log里面还是可以看到clang的命令带了-GCC_PREPROCESSOR_DEFINITIONS,然后我找到了最终的解决办法。

  1. 打开 ios/Pods/Pods.xcodeproj/project.pbxproj
  2. 找到 RNZipArchive.m
  3. 删除 -GCC_PREPROCESSOR_DEFINITIONS=\"HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB MZ_ZIP_NO_SIGNING $(inherited)\"
    重新build项目,编译成功。
http://www.xdnf.cn/news/1267.html

相关文章:

  • The backpropagation and the brain
  • Java与C语言核心差异:从指针到内存管理的全面剖析
  • Node.js学习
  • WT2000T专业录音芯片:破解普通录音设备信息留存、合规安全与远程协作三大难题
  • 【k8s系列7-更新中】kubeadm搭建Kubernetes高可用集群-三主两从
  • .NET 6 WPF 利用CefSharp.Wpf.NETCore显示PDF文件
  • 什么是 GLTF/GLB? 3D 内容创建的基本数据格式说明,怎么下载GLB/GLTF格式模型
  • HarmonyOS 是 Android 套壳嘛?
  • 【C语言】动态内存的常见错误
  • Git远程操作与标签管理
  • Linux权限
  • 数据结构:栈
  • Multi-View Stereo for Community Photo Collections
  • 云原生--CNCF-1-云原生计算基金会介绍(云原生生态的发展目标和未来)
  • C语言学习记录(17)编译和链接
  • 硬件工程师面试常见问题(5)
  • C语言教程(十一):C 语言中四种主要作用域及作用域嵌套遮蔽
  • 2023蓝帽杯初赛内存取证-8
  • 【Dart语言】八、并发
  • 宏函数 和 C++ 内联函数
  • java知识点
  • Swoole-添加自定义路由实现控制器访问
  • 互联网三高-高性能之IO网络技术底层机制
  • 《TCP/IP详解 卷1:协议》之第四、五章:ARP RARP
  • CLIP | 训练过程中图像特征和文本特征的在嵌入空间中的对齐(两个投影矩阵的学习)
  • 武装Burp Suite工具:RouteVulScan插件_被动扫描发现漏洞.
  • python高级特性01
  • 代码随想录算法训练营Day34
  • (16)VTK C++开发示例 --- 转换文件格式
  • ProxySQL 性能调优工具推荐