J'utilise le Xcode 8.0 GM. J'ai créé une application à affichage unique par défaut avec ma cible de déploiement définie sur 9.0.
Dans mon Podfile, je cible la branche saignante de Edge Swift 3:
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 lance pod install
et reçois ... Installing Alamofire (4.0.0-beta.2)
... fantastique, aucun problème. J'ouvre MyProject.xcworkspace
.
Cela apparaît:
Je ne peux pas frapper plus tard parce que ça me dit:
Xcode 8 ne pourra pas construire la cible «Alamofire», et certaines fonctionnalités 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 construire. Alors j'ai cliqué sur "Convert". Cela me donne des options:
Eh bien c'est ce que je veux, Swift 3. J'ai l'air bien, j'ai cliqué sur "suivant".
Il utilise par défaut ces 3 cibles sélectionnées. Ok bien, je frappe le suivant.
Que dans le saint nom de Dieu ...
Je souhaite utiliser la branche Swift3
bleeding Edge d'Alamofire sur un projet Xcode 8, Swift 3 visant iOS 9.0. Où est-ce que je me suis trompé et comment puis-je le faire fonctionner? FWIW Je reçois un tas d’erreurs en essayant d’utiliser la branche Swift 2.3 d’Alamofire, alors je sais que c’est quelque chose que je fais mal.
Mise à niveau vers les derniers Cocoapods (au moment de cette réponse: version 1.1.0.beta.2
) via la commande:
gem install cocoapods --pre
semblait résoudre le problème pour ma situation.
Vous devez utiliser la branche master
maintenant car la branche Swift3
y a été fusionnée. De plus, il est normal que Xcode Migrator affiche autant d’erreurs. C’est pourquoi il compile le code en pensant que c’est une version Swift classique, mais comme il est déjà dans Swift 3.0, il faut s’attendre à des erreurs. Enfin, Xcode vous demande de convertir à la syntaxe moderne Swift, probablement parce que vous n'avez pas utilisé la dernière version de Cocoapods pour installer Alamofire.
NB: si 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 avec pod update
. Vérifiez quelle version vous utilisez avec pod --version
.
J'ai pu 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 demande:
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.
La solution est de changer votre demande 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'
Mettez à jour le pod vers 1.1.0.rc à l'aide de 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
cA aide.
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 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 gousses de cacao vers la version 1.1.0.beta.2, puis utilisé la branche d'Alamofire basée sur Swift3 dans mon fichier de pod.
pod 'Alamofire',
:git => 'https://github.com/Alamofire/Alamofire.git',
:branch => 'Swift3-rebased'
a ouvert mon fichier Project .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 exemple d'application rapide sur Xcode 8.0 GM à l'aide de l'application autonome CocoaPods .. J'ai continué à obtenir le Convert to Swift 2.3 ou 3.0. fenêtre .. mais alors j'ai essayé de la mise à jour de pod en ligne de commande et cela a fonctionné Je ne sais pas pourquoi. Je suppose que les commandes sous-jacentes de l'application autonome sont les mêmes .. alors je ne sais pas ce qui a fait la différence. Dans tous les 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.