当我上传到iTunesConnect for TestFlight时,我注意到一个我从未在我的应用程序中安装过的框架。 “nanopb”就是它的名字。我之前从未听说过它。我从我的应用程序中删除了文件,然后当我再次运行它时,我开始收到这些错误。
"_pb_ostream_from_buffer", referenced from:
"_pb_encode", referenced from:
"_pb_encode_varint", referenced from:
"_pb_decode_varint", referenced from:
"_pb_encode_tag_for_field", referenced from:
"_pb_read", referenced from:
"_pb_istream_from_buffer", referenced from:
"_pb_encode_string", referenced from:
"_pb_encode_submessage", referenced from:
"_pb_decode", referenced from:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
通过一些研究,我发现它可能是Google Framework?我已经使用Firebase和Admob完成了多个应用程序,从未见过这个。
我删除了DerivedData和xcuserdata,没有运气。在我的项目中我没有在哪里使用它,正如我所说,我从未听说过它。我搜索了我的项目文件夹,看看我是否有任何遗留的文件,情况也是如此。由于我看到链接器命令错误,我还检查了重复文件,这也不是它。如果有人知道这是什么或如何摆脱它,非常感谢你。令人沮丧!
答案 0 :(得分:1)
解答我自己的问题
我只是进入命令行并更新了我的所有pod文件。我仍然不知道nanopb是什么,但它重新安装了我在Podfile中使用的firebase pod,所以我想我可以相信它。在清理和构建之后,错误消失了
答案 1 :(得分:0)
Nanopb是Google协议缓冲格式的一个小实现。它可用于数据存储和与各种服务的通信。
Firebase使用nanopb看起来确实有些东西,所以它有意义,它会被安装,当你删除它时会出错: Firebase pod