我在Xcode中有一个CocoaPods React Native项目,过去几个月里99%的时间都在工作。 (1%是像这样的随机内容,链接器错误等......看似随机而来)。
我今天安装了一个新的Pod及其相应的npm依赖项,过去当我添加了pod时,我有时会遇到问题,直到我尝试pod deintegrate
,pod install
,react-native link
和例如,清理Xcode项目。但这一次似乎没有什么能解决它。
每次构建时,无论是模拟器还是物理设备,我都会从stdint.h
This file should only be included when compiling with MSVC.
很容易找到错误的来源,它在stdint.h
中明确是用户定义的:
但我不能为我的生活弄清楚为什么它会被触发。它在评论中说MSVC包含在那里。据我所知,基于C的Xcode编译器应该提供MSVC版本以满足条件。此外,在过去几个小时的故障排除/实验过程中,调用错误的罪魁祸首已多次更改。现在它来自RCTFBSDK
,但早些时候来自RNFirebase
。
检查完整的错误树,我可以找到请求`stdint.h的文件,但鉴于它是一个基本文件,我怀疑它是否相关 - 但是在这里:
根据我到目前为止的调查,我倾向于认为这是Xcode导致问题的配置错误,特别是与CocoaPods有关的事情(但坦率地说我是' m不确定)
我所知道的是它在没有Pod / npm依赖项的情况下工作(顺便说一下,它与当前抛出错误的Facebook SDK完全无关),当我将它添加到package.json
和{{1}时},标准Podfile
npm install
pod install
会发生这种情况。
以下是我尝试的内容:
react-native link
npm install
npm update
npm link
react-native link
pod deintegrate
pod install
pod install
此外,我对[fatal][tid:com.facebook.react.ShadowQueue] Exception '*** -[__NSArrayM insertObject:atIndex:]: index 1 beyond bounds for empty array' was thrown while invoking manageChildren on target UIManager with params (...
和Podfile
完整性有100%的信心。我从一个完善的存储库中复制了安装过程。
我非常惊讶地发现关于此的绝对零信息。我发现最接近的东西与C ++有关(可以理解)。
有人对此有任何理论吗?谢谢。请让我知道我没有提供的任何其他具体信息。
答案 0 :(得分:4)
引用RNFirebase的共同作者:
目前,在可可豆荚上放置leveldb是件令人烦恼的事情
这是一个临时解决方法:
cd ios && rm -rf Pods/leveldb-library/port/win
您可能还需要按如下方式更新Podfile:
pod 'React', :path => '../node_modules/react-native', :subspecs => [
'Core',
'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43
'RCTWebSocket', # needed for debugging
# Add any other subspecs you want to use in your project
]
这是为了避免在您运行0.48.x
时出现进一步的错误。
您可能希望在Podfile
的末尾添加临时解决方法,因此您无需担心:
# Temporary workaround for https://github.com/invertase/react-native-firebase/issues/395
post_install do
`rm -rf Pods/leveldb-library/port/win`
end
来源: