ios - last - Alamofire Xcode 8 Swift 3 resultados en 786 errores de compilación
swift json cocoapods (10)
Actualice el pod a 1.1.0.rc usando el siguiente comando.
sudo gem install cocoapods
usa el fragmento de golpe en el extremo.
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
esto ayuda.
Estoy usando el Xcode 8.0 GM. Creé una aplicación de vista única predeterminada con mi destino de implementación establecido en 9.0.
En mi archivo Podfile estoy apuntando a la ramificación Swift 3 de última generación:
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
Installing Alamofire (4.0.0-beta.2)
pod install
y obtengo ... Installing Alamofire (4.0.0-beta.2)
... fantástico, sin problemas. Abro MyProject.xcworkspace
.
Esto aparece:
No puedo golpear más tarde porque me dice:
Xcode 8 no podrá construir el objetivo "Alamofire", y ciertas características de edición no funcionarán correctamente hasta que se haya convertido el código fuente de Swift en este objetivo.
Eso no es bueno, quiero construirlo. Así que presiono "Convertir". Me da opciones:
Bueno, eso es lo que quiero, Swift 3. Se ve bien, presiono "siguiente".
Por defecto, estos 3 objetivos seleccionados. Ok bien, golpeo siguiente.
Que en el Santo Nombre de Dios ...
Quiero utilizar la rama veloz de swift3
en un proyecto de Xcode 8, Swift 3 dirigido a iOS 9.0. ¿Dónde me equivoqué y cómo puedo hacer que funcione? FWIW Tengo un montón de errores al tratar de usar la rama Swift 2.3 de Alamofire, así que sé que es algo que estoy haciendo mal.
Actualizando a los últimos Cocoapods (en el momento de esta respuesta: versión 1.1.0.beta.2
) a través del comando:
gem install cocoapods --pre
pareció resolver el problema por mi circunstancia.
Debería usar la rama master
ahora ya que la rama swift3
se ha fusionado allí. Además, es normal que Xcode Migrator muestre muchos errores. Lo que hace es compilar el código pensando que es una versión heredada de Swift, pero como ya está en Swift 3.0, los errores son de esperar. Finalmente, Xcode le pide que convierta a la sintaxis Swift moderna, probablemente porque no ha utilizado la última versión de Cocoapods para instalar Alamofire.
NB: aunque Cocoapods te dice que uses gem install cocoapods --pre
, prefiero usar gem update cocoapods --pre
. De lo contrario, la versión anterior de Cocoapods permanece y aún se usa cuando se usa la pod update
. Compruebe qué versión está utilizando con pod --version
.
La solución es cambiar su solicitud de este
pod ''Alamofire'', :git => ''https://github.com/Alamofire/Alamofire.git'', :branch => ''swift3''
a esto
pod ''Alamofire'', :git => ''https://github.com/Alamofire/Alamofire.git'', :branch => ''master''
No estoy seguro de si esto ayuda a alguien, pero por las dudas ... Intenté agregar Alamofire a una aplicación rápida de muestra en Xcode 8.0 GM usando la aplicación independiente CocoaPods. Seguí obteniendo la ventana Convert to swift 2.3 o 3.0 ... pero luego probé desde la línea de comando hasta la actualización del pod y funcionó. No tengo ni idea de por qué ... Supongo que los comandos subyacentes para la aplicación independiente son los mismos ... por lo que no estoy seguro de qué hizo la diferencia. En cualquier caso, después de 30 minutos de tiempo perdido, la mina funciona.
Esta es la captura de pantalla de la línea de comando .. mismo archivo pod
Pude hacerlo funcionar:
actualizar:
# 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
actualización de pod Alamofire
Debe actualizar a 4.0.0-beta.2
Hay algunos cambios al obtener una solicitud:
antiguo:
Alamofire.request(URL_NAME_HERE, withMethod: .get).responseJSON { response in
//Code here.
}
nuevo:
Alamofire.request(URL_NAME_HERE, method: .get).responseJSON { response in
//Code here.
}
Espero que esto ayude.
Resolví un problema similar al usar
pod ''Alamofire'', ''~> 4.0''
en el archivo de pod Tuve que ajustarme a un objetivo de despliegue mínimo más alto.
Resolví un problema similar al usar:
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
Tuve el mismo problema, pero desinstalé cocoapods, desinstalé alamofire, luego actualicé mis vainas de cacao en 1.1.0.beta.2, luego usé la rama de Alamofire reestablecida en mi archivo pod
pod ''Alamofire'', :git => ''https://github.com/Alamofire/Alamofire.git'', :branch => ''swift3-rebased''
Abrí mi archivo Project .xcworkspace y todos los errores de compilación para Alamofire desaparecieron.
pod ''Alamofire'', ''~> 4.0''
usar la versión 4.0 pod ''Alamofire'', ''~> 4.0''
observe que CocoaPods 1.1 es necesario.