Cocoapods: target имеет транзитивные зависимости, которые включают статические двоичные файлы при установке 'VialerSIPLib'

Я пытаюсь установить objective-c Wrapper для Jsip 'VialerSIPLib' и использовать его в моем проекте swift вот мой pod

platform :ios, ’10.0’

use_frameworks!
target 'EMedicalAdmin' do
pod 'ObjectMapper', '~> 2.1'
pod 'Alamofire', '~> 4.3'
pod 'SwiftyAvatar', '~> 1.0'
pod 'AlamofireImage', '~> 3.1'
pod 'Eureka', '~> 2.0.0-beta.1'
pod 'JSQMessagesViewController', :git => 'https://github.com/jessesquires/JSQMessagesViewController.git', :branch => 'develop'
pod 'PKHUD', '~> 4.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'ImageSlideshow', '~> 1.1.0'
pod 'SwiftyJSON'
pod "FlexibleSteppedProgressBar"
pod 'BTNavigationDropdownMenu', :git => 'https://github.com/PhamBaTho/BTNavigationDropdownMenu.git', :branch => 'swift-3.0'
pod 'VialerSIPLib'
end

но я получаю эту ошибку при установке :-

target имеет транзитивные зависимости, которые включают статические двоичные файлы:

и если я удалить

use_frameworks!

из моего подфайла это будет работать, но все мои другие стручки на основе swift не будут работать

так, я остался с использованием только этого одного стручка (VialerSIPLib) или использовать все мои другие стручки, кроме него

4 ответов


Если кто-то все еще wondring, это не может быть сделано

использование динамических структур проданы не должно быть проблемой, даже если разработчик не использует CocoaPods с use_frameworks! если они для по какой-то причине нужен статический lib, например, при создании командной строки инструмент, где предпочтительнее статическое связывание.

Так .Вы можете добавить статическую библиотеку вручную и связать ее в проекте или подождать, пока поставщик изменит библиотеку в динамическую Рамки

Подробнее здесь

для меня это то, как я решил это : -

1 - скачал статическую библиотеку с помощью Cocoapods без use_frameworks!

2-используется Карфаген для добавления других библиотек

3 - и если библиотека не имеет поддержки Карфагена, я бы сделал это вручную (не рекомендуется, так как может появиться много повторяющихся зависимостей)


use_frameworks! должно быть достаточно, но иногда РМО.файл блокировки поврежден.

таким образом, вы можете удалить стручок.заблокировать файл, а затем сделать pod repo update и pod install


пожалуйста, добавьте это в свой podspec: s.static_framework = true Это доступно из cocoapods версии 1.4.0.

Это сработало для меня.!!


Я поставил репо, чтобы показать, как это сделать:https://github.com/Lucashuang0802/CocoaPodsWithCarthage

есть несколько вещей, чтобы сделать: - установите objective-C lib через CocoaPods без указания use_framework! в Подфайле - установите свой чистый модуль Swift через Carthage

вы должны быть в состоянии скомпилировать нормально с этим решением.