Eu usei o use_frameworks
CocoaPods Podfile
muitas vezes. Eu só me pergunto por que o usamos? Não consegui obter uma resposta direta.
Exemplo:
platform :ios, '8.0'
use_frameworks!
target "CityWhether" do
pod 'Alamofire'
pod 'SwiftyJSON'
end
ios
frameworks
cocoapods
static-libraries
harikrista
fonte
fonte
Respostas:
use_frameworks
diz ao CocoaPods que você deseja usar Frameworks em vez de Bibliotecas estáticas. Como o Swift não oferece suporte a Bibliotecas estáticas, você deve usar frameworks.Em outra resposta, expliquei as diferenças entre bibliotecas estáticas e frameworks:
Fontes: Minha outra resposta | Blog AddThis.com
fonte
use_frameworks!
diz aos pods de cacau para usar bibliotecas dinâmicas, e foi muito prevalente em um ponto devido em particular ao swift não suportar bibliotecas estáticas, o que significa que não havia escolha - entretanto, muitas vezes você não precisause_frameworks!
mais.A partir do Xcode 9 beta 4 e do CocoaPods 1.5.0, as bibliotecas estáticas swift agora são suportadas. A principal vantagem é o tempo de inicialização do aplicativo mais rápido, especialmente se você tiver muitos pods - iOS 10 e 11 não são os mais rápidos quando você tem muitos dylibs.
CocoaPods 1.5.0 foi lançado no início de abril 2018 , então você pode precisar atualizar para obtê-lo:
sudo gem install cocoapods
.Eu encontrei vários pods que ainda não funcionam corretamente com bibliotecas estáticas, então sua milhagem pode variar.
fonte
No such module
erros. Isso é um problema nesses cocos?use_modular_headers!
ao meu Podfile para fazê-lo funcionar com pods que presumivelmente exigem, mas ainda não o habilitam.use_frameworks
declara que você deseja usar estruturas dinâmicas , em vez de bibliotecas estáticas .Com o Xcode 9.0 e o CocoaPods 1.5.0 lançados, você pode usar bibliotecas estáticas com o swift se não usar
use_frameworks
.Um problema
use_frameworks
é que todos os seus frameworks em Pods / Produtos são frameworks.Aqui está um artigo relacionado: Visão geral básica de estruturas estáticas e dinâmicas no ios
fonte
One performance with use_frameworks is that all your framework in Pods/Products is frameworks.
Uma apresentação o quê?O Cocoapod's [About]
use_frameworks!
é responsável pelo tipo de binário:use_frameworks!
estiver presente -dynamic framework
use_frameworks!
estiver presente -static library
use_frameworks!
tem um reflexo emMach-O Type
[Sobre] em um destino correspondente doPods
projeto.Linha do tempo:
use_frameworks!
que você tinha que usar para Swift pod[Vocabulário]
fonte
Adicionando
no Podfile significa que queremos que as estruturas listadas sejam instaladas dinamicamente em vez de estruturas estáticas.
fonte