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
вы должны быть в состоянии скомпилировать нормально с этим решением.