Alamofire Xcode 8 Swift 3 donne 786 erreurs de compilation
j'utilise le Xcode 8.0 GM. J'ai créé une application à vue unique par défaut avec ma cible de déploiement fixée à 9.0.
dans mon fichier Podfile Je cible la branche Swift 3 du bord de saignement:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'MyProject' do
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift3'
end
Je cours pod install
et obtenir ... Installing Alamofire (4.0.0-beta.2)
... fantastique, pas de problèmes. J'ai ouvert MyProject.xcworkspace
.
Ce pop up:
je ne peux pas frapper plus tard, parce qu'il me dit:
Xcode 8 ne pourra pas construisez la cible "Alamofire", et certaines fonctionnalités d'édition ne fonctionneront pas correctement tant que le code source Swift dans cette cible n'a pas été converti.
ce n'est pas bon, je veux le construire. J'ai donc frappé "Convertir". Il m'offre des options:
C'est ce que je veux, Swift 3. Semble bon, je l'ai frappé "suivant".
il est par défaut à ces 3 cibles sélectionnées. OK bien, j'ai frapper à côté.
Ce qui, dans le Saint nom de Dieu...
je veux utiliser Alamofire swift3
à la pointe de la branche sur un Xcode 8, Swift 3 projet de ciblage iOS 9.0. Où ai-je mal se passer et comment puis-je obtenir ce travail? FWIW je reçois un tas d'erreurs en essayant d'utiliser la branche Swift 2.3 D'Alamofire donc je sais que c'est quelque chose que je fais mal.
10 réponses
mise à jour vers la dernière Cocoapods (au moment de cette réponse: la version 1.1.0.beta.2
) via la commande:
gem install cocoapods --pre
semblé résoudre le problème pour ma situation.
j'ai été en mesure de le faire fonctionner:
mise à jour:
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'PROJECT NAME HERE' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Alamofire',
:git => 'https://github.com/Alamofire/Alamofire.git',
:branch => 'swift3'
end
pod mise à jour Alamofire
il devrait être mis à jour à 4.0.0-bêta.2
Il y a quelques changements lors de l'obtention d'une demande:
âge:
Alamofire.request(URL_NAME_HERE, withMethod: .get).responseJSON { response in
//Code here.
}
nouveau:
Alamofire.request(URL_NAME_HERE, method: .get).responseJSON { response in
//Code here.
}
Espérons que cette aide.
Vous devez utiliser le master
branche depuis le swift3
branche a été fusionnée. De plus, il est normal que le migrateur Xcode affiche autant d'erreurs. Ce qu'il fait s compiler le code en pensant qu'il s'agit d'une version ancienne de Swift, mais comme il est déjà dans Swift 3.0, les erreurs sont à prévoir. Enfin, Xcode vous demande de passer à la syntaxe Swift moderne probablement parce que vous n'avez pas utilisé la dernière version de Cocoapods pour installer Alamofire.
NB: événement Cocoapods vous dit d'utiliser gem install cocoapods --pre
, je préfère utiliser gem update cocoapods --pre
. Sinon, L'ancienne version de Cocoapods reste et est toujours utilisée quand on utilise pod update
. Vérifier quelle version vous utilisez pod --version
.
mettre à jour le pod à 1.1.0.rc en utilisant la commande ci-dessous.
sudo gem install cocoapods
utilisez l'extrait de coup à la fin.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
cette aide.
la solution est de changer votre demande de ceci
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift3'
de cette
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'master'
j'ai résolu un problème similaire en utilisant
pod 'Alamofire', '~> 4.0'
dans le fichier pod. J'ai dû m'adapter à une cible de déploiement plus élevée.
j'ai résolu le même problème en utilisant :
platform :ios, '9.0'
use_frameworks!
target 'PROJECT NAME HERE' do
pod 'Alamofire'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
j'ai eu le MÊME PROBLÈME, MAIS j'ai désinstallé cocoapods, désinstallé alamofire, puis mis à jour mes cosses de cacao à 1.1.0.bêta.2, puis utilisé la branche swift3-rebased D'Alamofire dans mon fichier pod
pod 'Alamofire',
:git => 'https://github.com/Alamofire/Alamofire.git',
:branch => 'swift3-rebased'
ouvert ma Projet.le fichier xcworkspace et toutes les erreurs de compilation pour Alamofire ont disparu.
Je ne suis pas sûr que cela aide quelqu'un mais juste au cas où.. J'ai essayé d'ajouter Alamofire à un échantillon application rapide sur Xcode 8.0 GM en utilisant L'application autonome CocoaPods.. J'ai continué à obtenir la conversion à swift 2.3 ou 3.0 fenêtre.. mais j'ai essayé de passer de la ligne de commande à pod update et ça a marché. N'ai aucune idée pourquoi.. Je suppose que les commandes sous-jacentes pour l'application autonome sont les mêmes.. donc, pas sûr que ce qui fait la différence. En tout cas après 30 minutes de temps perdu le mien fonctionne.
ceci est la capture d'écran en ligne de commande.. même fichier pod
Vous devez utiliser la version 4.0pod 'Alamofire', '~> 4.0'
notez que CocoaPods 1.1 est nécessaire.