1

I have a missing framework shown in red in a pod project. The project still builds for running when selecting "Generic iOS Device". However, if I remove the red framework then the project stops building and Xcode reports "Undefined symbols for architecture arm64:" and a big list of symbols not being found by the linker. This is the library which I understand from this SO post has been deprecated and is no longer included in Xcode as of Xcode 10.

enter image description here

I'm currently downloading Xcode 9.4.1 so that I can get the old libraries, but I'm unclear why I can even build successfully when this library is red. Again if I remove it it won't build. As a related aside, the project is already set to use libc++ rather than libstdc++.

Ideas?

bhartsb
  • 1,316
  • 14
  • 39

1 Answers1

1

The solution is to delete the libstdc++.tbd, then under Xcode's general tab, Linked Frameworks and Libraries, add libc++.tbd. Also, under the Build Settings tab, C++ Standard Library should be set as libc++. In my project the C++ Standard Library was already set to libc++.

Since as of Xcode 10 libstdc++.tbd is not available it was shown in red. The calls to the standard library I think are now linked via libc++.tbd.

This other SO posts discusses the tbd files

bhartsb
  • 1,316
  • 14
  • 39