Каков наилучший механизм, чтобы проект Xcode зависел статически от нативного кода? - PullRequest
0 голосов
/ 01 ноября 2019

Я не очень хорошо знаком с разработкой для iOS / XCode, и это трудно для Google.

У меня есть проект Xcode - назовем его Проект B - который включает в себянативный кодОн строит просто отлично в изоляции. У меня есть другой проект Xcode - Project A - который должен зависеть от Project A , но я хочу убедиться, что Project A сам по себе не нуженсобрать нативный код . То есть, собственный код уже скомпилирован при сборке Project B и статически связан с Project A .

Из-за этих требований мой ProjectB - проект Статической библиотеки. Он прекрасно собирается и выдает файл .a. Теперь я хочу, чтобы Project A использовал файл .a, ссылаясь на него в Project A в podspec.

Я нашел этот ответ , что кажется очень перспективным. Тем не менее, я не смог заставить его работать до сих пор. У меня есть следующее в Project A podspec:

  s.subspec 'NativeCode' do |nativecode|
    nativecode.preserve_paths = '../native/shared_c/*.h'
    nativecode.vendored_libraries = '../native/ios/mylib.a'
    nativecode.libraries = 'mylib'
    nativecode.xcconfig = { 'HEADER_SEARCH_PATHS' => "../native/shared_c/*.h" }
  end

Но когда я пытаюсь собрать Project A , он не может разрешить файлы заголовков из собственногобиблиотека. Даже если я изменил мои относительные пути на абсолютные, он все равно не сможет разрешить файлы заголовков.

Я заметил, что у самого проекта есть опция Пути поиска заголовка , поэтому я попытался указатьполный путь к моим заголовочным файлам там. И снова заголовок не удалось разрешить, используя #include <foo.h> и #include "foo.h".

Что я здесь не так делаю? Как я могу заставить Проект A «видеть» все, что ему нужно в Статической библиотеке, Проект B ?

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