xcode6 - instalar - podfile
Cómo estructurar un proyecto Xcode con Frameworks, Extensions y CocoaPods (2)
NB: Aquí hay un subconjunto más abstracto y simplificado de esta pregunta .
Con la incorporación de Touch Frameworks, Extensions y los proyectos y áreas de trabajo de Apple Watch Xcode 6 se están volviendo cada vez más complejos.
Si agrega CocoaPods a esta mezcla, las cosas comienzan a volverse casi imposibles de manejar.
¿Cómo estructuraría un proyecto de Xcode / Área de trabajo con los siguientes objetivos y dependencias? (Supuestos: estoy usando Git para todos los componentes, estoy usando CocoaPods para todos los códigos de terceros, estoy usando Xcode 6).
- MyCoolApp
- Varias bibliotecas UI de terceros a través de CocoaPods
- MyCoolNetworking.framework, un marco (proyecto) que creé como un submódulo Git
- AFNetworking via CocoaPods
- Otro código de procesamiento de datos a través de CocoaPods
- MyCoolAppBusinessLogic.framework, utilizado por la aplicación y todas las extensiones (a continuación)
- Incluye algún código de CocoaPods común a la aplicación y extensiones
- MyCoolToadyView, un objetivo de la extensión de TodayView
- MyCoolWatch, un objetivo de extensión de Apple Watch
Como puede ver, esta es una estructura compleja que incluye un par de instancias de CocoaPods. Cualquier consejo sobre cómo resolver cualquiera o todos estos problemas será útil.
(Mi plan es escribir algunas de mis ideas y luego sintetizar una respuesta de todos los demás, sin duda este será un documento vivo).
Más que un comentario que una respuesta, pero no tengo la suficiente reputación: ¿has probado con el plugin de cococode xcode? Lo uso y estructura las cápsulas por sí mismo, por lo que ni siquiera tengo que preocuparme por eso.
Realmente creo que puedes usar Cocoapods para crear tu espacio de trabajo en este caso, porque realmente te ayuda, y puedes agregar los componentes que quieras a cada uno de tus propios marcos.
source ''https://github.com/CocoaPods/Specs.git''
platform :ios, ''8.0''
use_frameworks!
workspace ‘Project.xcworkspace''
target ''Project.Models’ do
xcodeproj ‘Project/Models.xcodeproj’
pod ''Alamofire'', ''~> 2.0''
pod ''SwiftyJSON'', :git => ''https://github.com/SwiftyJSON/SwiftyJSON.git''
end
target ''Project.Business'' do
xcodeproj ‘ Project/Project.Business.xcodeproj’
pod ''Alamofire'', ''~> 2.0''
pod ''SwiftyJSON'', :git => ''https://github.com/SwiftyJSON/SwiftyJSON.git''
end
Por ejemplo, aquí hay un ejemplo de cómo me las arreglo para manejar múltiples Frameworks con múltiples dependencias y resolverlo en un área de trabajo principal que tiene todas las dependencias para bibliotecas de terceros para cada uno de mis proyectos
Espero que esto te dé una pista o te ayude a resolver algo.