J'ai utilisé plusieurs fois use_frameworks
dans CocoaPods Podfile
. Je me demande simplement pourquoi l'utilisons-nous? Je n'ai pas pu obtenir la réponse directe.
Exemple:
platform :ios, '8.0'
use_frameworks!
target "CityWhether" do
pod 'Alamofire'
pod 'SwiftyJSON'
end
ios
frameworks
cocoapods
static-libraries
harikrista
la source
la source
Réponses:
use_frameworks
indique à CocoaPods que vous souhaitez utiliser Frameworks au lieu de bibliothèques statiques. Puisque Swift ne prend pas en charge les bibliothèques statiques, vous devez utiliser des frameworks.Dans une autre réponse, j'ai expliqué les différences entre les bibliothèques statiques et les cadres:
Sources: Mon autre réponse | Blog AddThis.com
la source
use_frameworks!
dit aux cabosses de cacao d'utiliser des bibliothèques dynamiques, et était très répandue à un moment donné en raison notamment de la rapidité ne prenant pas en charge les bibliothèques statiques, ce qui signifie qu'il n'y avait pas le choix - mais vous n'en avez souvent plus besoinuse_frameworks!
.Depuis Xcode 9 beta 4 et CocoaPods 1.5.0, les bibliothèques statiques Swift sont désormais prises en charge. Le principal avantage est des temps de démarrage plus rapides des applications, en particulier si vous avez beaucoup de pods - iOS 10 et 11 ne sont pas les plus rapides lorsque vous avez de nombreux dylibs.
CocoaPods 1.5.0 a été libéré au début Avril 2018 , de sorte que vous devrez peut - être passer à l' obtenir:
sudo gem install cocoapods
.Cependant, j'ai trouvé plusieurs pods qui ne fonctionnent pas correctement avec les bibliothèques statiques, donc votre kilométrage peut varier.
la source
No such module
erreurs. Est-ce un problème dans ces cocoapodes?use_modular_headers!
à mon Podfile afin de le faire fonctionner avec des pods qui en ont vraisemblablement besoin mais qui ne l'activent pas encore eux-mêmes.use_frameworks
déclare que vous souhaitez utiliser des frameworks dynamiques au lieu de bibliothèques statiques .Avec la sortie de Xcode 9.0 et CocoaPods 1.5.0, vous pouvez utiliser des bibliothèques statiques avec swift si vous ne les utilisez pas
use_frameworks
.Un problème avec
use_frameworks
est que tous vos frameworks dans Pods / Products sont des frameworks.Voici un article connexe: Présentation de base des frameworks statiques et dynamiques sur iOS
la source
One performance with use_frameworks is that all your framework in Pods/Products is frameworks.
Une performance quoi?[About] de Cocoapod
use_frameworks!
est responsable du type de binaire:use_frameworks!
est présent -dynamic framework
use_frameworks!
n'est pas présent -static library
use_frameworks!
a une réflexion dansMach-O Type
[About] dans une cible correspondante duPods
projet.Chronologie:
use_frameworks!
que vous deviez utiliser pour Swift Pod[Vocabulaire]
la source
Ajouter
dans le Podfile signifie que nous voulons que les frameworks listés soient installés dynamiquement à la place en tant que frameworks statiques.
la source