参数列表太长:递归头扩展失败
Posted
技术标签:
【中文标题】参数列表太长:递归头扩展失败【英文标题】:Argument list too long: recursive header expansion failed 【发布时间】:2018-03-16 10:13:08 【问题描述】:我有一个 React Native 应用程序,确实编译得非常好。
安装react-native-sentry
并通过react-native link
自动链接后,我遇到了这个问题:
Showing Recent Issues
Argument list too long: recursive header expansion failed at /Users/dan/Sites/app/node_modules/react-native-intercom/ios/../../../ios/Pods/React/node_modules/exit-hook.
这个错误发生在我运行pod install
之后
Podfile
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'app' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for app
pod 'AppCenterReactNativeShared', '~> 1.4.0'
pod 'SentryReactNative', :path => '../node_modules/react-native-sentry'
platform :ios, '9.0'
target 'appTests' do
inherit! :search_paths
# Pods for testing
end
end
target 'app-tvOS' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for app-tvOS
target 'app-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
end
我根本没有修改RNIntercom项目,这个问题总是在我尝试通过cocoa安装新库后出现。
【问题讨论】:
我认为这个链接会帮助你github.com/tinycreative/react-native-intercom/issues/40 谢谢,我试试看结果告诉你 @NisargThakkar 不幸的是,它没有用,我没有使用 cocoapods 进行对讲。我已将其嵌入为框架。我尝试了SRCROOT
答案,但也没有用。
问题不是库特有的,它在 Intercom 和 AppCenterReactNative 之间切换
pod install 会覆盖一些可能在 gitignore 中的文件,所以它不会起作用,即使你还原每一个更改,你也会遇到问题。最近我在实现 codepush 时遇到了类似的问题。我不得不重置所有内容并返回并手动链接 codepush。
【参考方案1】:
我遇到了类似的问题,不得不进入并删除一些标题搜索路径,如下所述:
https://facebook.github.io/react-native/docs/0.60/troubleshooting#argument-list-too-long-recursive-header-expansion-failed
参数列表太长:递归头扩展失败
在 项目的构建设置,用户搜索标题路径和标题搜索 路径是两个配置,指定 Xcode 应该在哪里查找 #import 代码中指定的头文件。对于 Pod,CocoaPods 使用默认的 要查看的特定文件夹数组。验证这个特定的 config 没有被覆盖,并且没有配置的文件夹 太大了。如果其中一个文件夹是大文件夹,Xcode 将尝试 递归搜索整个目录并在 一点。
还原用户搜索标题路径和标题搜索路径构建 设置为 CocoaPods 设置的默认值 - 选择 构建设置面板,然后点击删除。它将删除自定义 覆盖并返回 CocoaPod 默认值。
【讨论】:
以上是关于参数列表太长:递归头扩展失败的主要内容,如果未能解决你的问题,请参考以下文章