Cocoapods неправильно устанавливает пути поиска - PullRequest
0 голосов
/ 21 марта 2019

Сегодня я открыл проект iOS (Swift), которого давно не трогал и не собирался. Первым оператором импорта для платформы Cocoapods была ошибка компиляции No such module в XCode. Изменение порядка операторов импорта приводило к ошибкам, которые были первыми внешними зависимостями в моем списке импорта.

Я исправил это, добавив каждый из моих Cocoapods к Framework Search Paths в основной цели моего проекта (у него есть несколько целей, включая тесты, расширение общего доступа и структуру общего кода для приложения и расширения). Эти пути поиска были пусты и теперь выглядят так:

screenshot of framework search paths

После того, как проект был построен нормально, но теперь я получаю эту ошибку SIGABRT каждый раз, когда пытаюсь запустить приложение (как на симуляторе, так и на устройстве):

dyld: Library not loaded: @rpath/CocoaLumberjack.framework/CocoaLumberjack
  Referenced from: [path removed]
  Reason: image not found

Полагаю, это связано с тем, что CocoaLumberjack нужно связать где-то еще / каким-то другим способом из-за его макросов, но я не совсем знаю.

Я также попытался запустить pod install, очистить папку сборки и удалить производные данные, а также запустить pod deintegrate + pod install безуспешно.

Можно ли заставить Cocoapods автоматически настраивать мои пути поиска, чтобы у меня не было этих проблем? Или есть ручной шаг, который я пропустил или, возможно, сделал неправильно?

Отредактировано, чтобы добавить мой Podfile:

platform :ios, '11.0'
use_frameworks!

# ignore all warnings from all pods
inhibit_all_warnings!

# This is my shared framework, used by both my app and share extension
target 'XXXShared' do
    pod 'SnapKit', '~> 4.0'
    pod 'KeychainSwift', '~> 7.0'
    pod 'Reveal-SDK', :configurations => ['Debug']
    pod 'IQKeyboardManagerSwift'
    pod 'APESuperHUD', :git => 'https://github.com/apegroup/APESuperHUD.git'
    pod 'WSTagsField', '~> 3.1'
    pod 'Cache', '~> 4.2'
    pod 'TableKit', '~> 2.5'
    pod 'GRDB.swift', '~> 3.2'
    pod 'PromiseKit', '~> 6.0'
    pod 'Toast-Swift', '~> 3.0.1'
    pod 'CocoaLumberjack/Swift'
    pod 'CollectionKit'
    pod 'PinLayout'
    pod 'FlexLayout'
    pod 'LayoutKit'
    pod 'PromiseKit/Alamofire'
    pod 'Alamofire', '~> 4.7'
end


target 'XXX' do
    pod 'Reveal-SDK', :configurations => ['Debug']
end


target 'XXX share extension' do
   inherit! :search_paths
end

Отредактировано для добавления скриншотов:

Embedded binaries and linked frameworks screenshot

Embed frameworks screenshot

...