0

当我为 TestFlight 上传到 iTunesConnect 时,我注意到一个我从未安装到我的应用程序中的框架。“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)

通过一些研究,我注意到它可能是一个谷歌框架?我已经使用 Firebase 和 Admob 完成了多个应用程序,但从未见过这种情况。

我已经删除了 DerivedData 和 xcuserdata,但没有运气。在我的项目中也没有我会使用它的地方,正如我所说我从未听说过它。我搜索了我的项目文件夹以查看是否有任何文件遗留在其中,但事实并非如此。由于我看到了链接器命令错误,我还检查了不是重复的文件。如果有人知道这是什么或如何摆脱它,非常感谢。令人沮丧!

4

2 回答 2

1

回答了我自己的问题

我只是进入命令行并更新了我所有的 pod 文件。我仍然不知道 nanopb 是什么,但它重新安装了我在 Podfile 中使用的 firebase pod,所以我想我可以信任它。经过清理和构建后,错误消失了

于 2017-07-24T22:36:20.647 回答
1

Nanopb 是 Google 协议缓冲区格式的小型实现。它可用于数据存储和与各种服务通信。

看起来 Firebase 确实使用 nanopb 来做某事,因此安装它并且在删除它时会出现错误是有道理的: Firebase pod

于 2017-07-25T06:57:54.410 回答