web-dev-qa-db-fra.com

Erreur lors de l'installation du pod avec swift

J'ai suivi les instructions de Cocoapods.

Ci-dessous mon Podfile: 

platform :ios, '8.2'

pod 'SwiftyJSON', '~> 2.1'
pod 'SwiftSpinner', '~> 0.6'
pod 'Alamofire', '~> 1.1'
pod 'SuperRecord', '~> 1.2'
pod 'Toucan

Quand j’ai fait pod install j’ai eu l’erreur suivante: 

Les pods écrits dans Swift ne peuvent être intégrés qu'en tant que cadres; cette fonctionnalité est toujours en version bêta. Ajoutez use_frameworks! à votre Podfich ou à votre cible pour pouvoir l'utiliser.

Mis à jour:

Voici le journal de ma console:

$ pod install
Analyzing dependencies
Downloading dependencies
Installing Alamofire (1.1.4)
Installing SuperRecord (1.2)
Installing SwiftSpinner (0.6.0)
Installing SwiftyJSON (2.1.3)
Installing Toucan (0.2.0)
[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it.
36
channa ly

Ajoutez "use_frameworks!" à votre Podfile parce que: 

Parce qu'Apple ne vous permet pas de construire des bibliothèques statiques contenant Rapide. Contrairement à Objective-C, Apple n’exporte pas le standard Swift bibliothèques d'exécution avec iOS. Cela sépare la version linguistique de la version de la plateforme. Lorsque vous créez une application avec Swift, vous êtes responsable de vous les expédier. Par défaut, Xcode utilise Swift-stdlib-tool pour gérer la copie des dylibs d'exécution Swift, mais le fichier outillage n’est pas à la hauteur lors de la tentative d’expédition de frameworks utilisant Swift avec une application qui est Objective-C uniquement. Votre application exécutable et le Les frameworks que vous expédiez utiliseront tous le même ensemble de dylibs, à savoir intégré dans le sous-répertoire Frameworks du paquet d'applications.

Tout d’abord, c’est parce que vous ne pouvez pas créer de lien avec différentes versions du bibliothèques standard. En outre, il est souhaitable de les intégrer uniquement une fois et non plusieurs fois, en raison de contraintes de taille de la mémoire et de la vitesse du réseau, qui sont pertinents pour la distribution . Vous pouvez faire en sorte que CocoaPods s'intègre à votre projet via des frameworks au lieu des bibliothèques statiques en spécifiant use_frameworks !. Si c'est non présent, vous ne pourrez pas intégrer de dépendances, si vous dépendent d'un pod qui inclut le code source Swift.

Référence: http://blog.cocoapods.org/CocoaPods-0.36/

35
gagarwal

Ajoutez "use_frameworks!" à votre podfile:

S'il vous plaît voir ci-dessous exemple Podfile

target 'MySample' do

  pod 'AFNetworking', '~> 2.5'

  pod 'Net', '~> 0.2' #This is a sample in Swift

  use_frameworks! # <--Use this line
end
57
Meet

comme il est écrit dans Podfile, il est dit de ne pas commenter use_frameworks! est-ce que vous utilisez Swift, il ne vous reste donc plus qu'à commenter cette ligne et tout fonctionne parfaitement 

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks! 

target 'YourProjectName' do
  pod 'SwiftyJSON', '~> 2.1'
  pod 'SwiftSpinner', '~> 0.6'
  pod 'Alamofire', '~> 1.1'
  pod 'SuperRecord', '~> 1.2'
  pod 'Toucan'
  # all other pods goes here 
end

target 'YourProjectName' do

end

target 'YourProjectName' do

end
9
Mina Fawzy

Dans mon cas, j'avais l'habitude de mettre à niveau les cocoapodes avec la commande Sudo gem install cocoapods et mon problème a été résolu. J'ai utilisé object-c ainsi que des bibliothèques Swift dans mon projet.

1
Yogesh Dalavi

la solution est très simple. Il vous suffit d'ajouter ces lignes à votre fichier pod:

target 'PassDTAFirebase' do

  inherit! :complete

    # Here your pods

  use_frameworks! 

end
0
joan checo cigollen