J'utilise le Xcode 8.0 GM. J'ai créé une application à vue unique par défaut avec ma cible de deployment définie sur 9.0.
Dans mon Podfile, je cible la twig Swift 3 qui saigne:
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 l' pod install
et obtient … Installing Alamofire (4.0.0-beta.2)
… fantastique, aucuns problèmes. J'ouvre MyProject.xcworkspace
.
Cela apparaît:
Je ne peux pas bash plus tard parce qu'il me dit:
Xcode 8 ne pourra pas générer la cible "Alamofire", et certaines fonctions d'édition ne fonctionneront pas correctement tant que le code source Swift de cette cible n'aura pas été converti.
Ce n'est pas bon, je veux le build. Donc j'ai frappé "Convert". Cela me donne des options:
Eh bien c'est ce que je veux, Swift 3. On dirait bien, je tape "suivant".
Il est par défaut à ces 3 cibles sélectionnées. Très bien, je frappe ensuite.
Que dans le Saint Nom de Dieu …
Je veux utiliser la twig swift3 de swift3
pour un projet Xcode 8, Swift 3 ciblant iOS 9.0. Où est-ce que je me suis trompé et comment puis-je faire fonctionner cela? FWIW Je reçois un tas d'erreurs en essayant d'utiliser la twig Swift 2.3 d'Alamofire, donc je sais que c'est quelque chose que je fais mal.
Mise à niveau vers les derniers Cocoapods (à l'heure de cette réponse: version 1.1.0.beta.2
) via la command:
gem install cocoapods --pre
semblait résoudre le problème pour mon cas.
J'ai réussi à le faire fonctionner:
mettre à 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
mise à jour de pod Alamofire
Il devrait mettre à jour à 4.0.0-beta.2
Il y a quelques changements lors de l'obtention d'une request:
vieux:
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. }
J'espère que cela t'aides.
Vous devriez utiliser la twig master
maintenant puisque la twig swift3
a été fusionnée là. De plus, il est normal que Xcode Migrator affiche beaucoup d'erreurs. Qu'est-ce qu'il fait en compilant le code en pensant qu'il s'agit d'une version héritée de Swift, mais comme il est déjà dans Swift 3.0, les erreurs sont à prévoir. Enfin, Xcode vous request de vous convertir à la syntaxe Swift moderne, probablement parce que vous n'avez pas utilisé la dernière version de Cocoapods pour installer Alamofire.
NB: bien que Cocoapods vous dise d'utiliser gem install cocoapods --pre
, je préfère utiliser gem update cocoapods --pre
. Sinon, l'ancienne version de Cocoapods rest et est toujours utilisée lors de l'utilisation de la pod update
. Vérifiez quelle version vous utilisez avec pod --version
.
Mettez à jour le pod vers 1.1.0.rc en utilisant la command 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
CA aide.
La solution est de changer votre request de cette
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift3'
pour ça
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 file pod. J'ai dû m'adapter à une cible de deployment minimale 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é des cocoapodes, désinstallé alamofire, puis mis à jour mes podos de cacao à 1.1.0.beta.2, puis utilisé la twig swift3-rebased d'Alamofire dans mon file pod
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift3-rebased'
ouvert mon file Project .xcworkspace et toutes les erreurs de compilation pour Alamofire avaient disparu.
Je ne sais pas si cela aide quelqu'un mais juste au cas où .. J'ai essayé d'append Alamofire à un exemple d'application rapide sur Xcode 8.0 GM en utilisant l'application autonome CocoaPods .. J'ai continué à get la window Convertir en swift 2.3 ou 3.0 .. mais j'ai essayé de la command line à la mise à jour de pod et cela a fonctionné. Je n'ai aucune idée pourquoi .. Je suppose que les commands sous-jacentes pour l'application autonome sont les mêmes .. donc pas sûr de ce qui a fait la différence. En tout cas, après 30 minutes de time perdu, la mine fonctionne.
Ceci est la capture d'écran de la command line .. même file pod
Vous devez utiliser la version 4.0 pod 'Alamofire', '~> 4.0'
notez que CocoaPods 1.1 est nécessaire.