Как связать отсутствующие заголовки pod — Xcode 11.2.1

#ios #react-native #cocoapods #bugsnag #xcode11.2

#iOS #react-native #cocoapods #ошибка #xcode11

Вопрос:

Я убиваю себя, пытаясь связать Pod и запустить проект. Для некоторой справки: я запускаю проект ReactNative (версия 0.61.5 ) и использую Xcode 11.2.1 ; текущая версия cocoapods 1.9.1 . Следует также отметить, что я не эксперт по iOS Xcode.

Проблемный пакет здесь @bugsnag/react-native ; в частности, проблема связана с базовой собственной библиотекой, bugsnag-cocoa . При создании проекта я получаю следующую ошибку:

Ошибка компилятора Swift: нет такого модуля 'Bugsnag

Пока модуль установлен, похоже, что общедоступные заголовки связаны неправильно.

Pod доступен в проекте Pods

Я не вижу ничего, что выскакивает как ошибка в @bugsnag/react-native файле podspec (https://github.com/bugsnag/bugsnag-js/blob/next/packages/react-native/BugsnagReactNative.podspec ). Странно то, что когда я запускаю чистый react-native проект и устанавливаю @bugsnag/react-native , у меня не возникает проблем — модуль связан правильно, и проект запускается.

Я попытался добавить библиотеку поставщика bugsnag-cocoa в свою рабочую область проекта; затем я переместил фреймворк Bugsnag в мой Frameworks, Libraries and Embedded Content — это работало локально, однако в CI / CD были сбои: sadface:

Я также пытался добавить bugsnag-cocoa в качестве вложенной библиотеки своего проекта; однако с этого момента я ничего не могу сделать с библиотекой… Я не могу щелкнуть по библиотеке? Почему это так?

Значок проекта Bugsnag непрозрачен и не нажимается


Могу ли я в любом случае вручную добавить заголовки из pod в свой проект? Я попытался добавить путь к файлам поставщика модуля в целевой программе proj Build Settings -> Library Search Paths и Build Settings -> Header Search Paths — это не сработало, я по-прежнему не получаю такого модуля Bugsnag . Очень возможно, что я что-то пропустил.

PS У меня .xcworkspace открыто, так что это не проблема, и я обязательно запустил pod install (среди других перестановок, таких как pod install --repo-update и pod update ).

Ответ №1:

Похоже, вы используете swift. Вы должны включить #import <Bugsnag/Bugsnag.h> в свой файл заголовка моста. Как только вы это сделаете, вам не нужно будет импортировать Bugsnag в ваш файл AppDelegate, поскольку Bugsnag уже будет доступен.

Комментарии:

1. Определенно! Это был огромный недосмотр с моей стороны. В конце концов я понял это, но не вернулся к сообщению, чтобы отметить. Спасибо за вклад @Div-dog !