XCodeproj es una biblioteca escrita en Swift para analizar y trabajar con proyectos XCode. Está fuertemente inspirado en Cocoapods Xcodeproj y Xcode.
| Proyecto | Repositorio |
|---|---|
| Projlint | github.com/jamitlabs/projlint |
| reglas_xcodeproj | github.com/buildbuddy-io/rules_xcodeproj |
| Rugby | github.com/swiftyfinch/rugby |
| Fuente | github.com/krzysztofzablocki/sourcery |
| Tuist | github.com/tuist/tuist |
| Xcodén | github.com/yonaskolb/xcodgen |
| XSPM | gitlab.com/pyroh/xspm |
| Manifiesto de privacidad | github.com/stelabouras/privacy-manifest |
Si también está aprovechando XCodeproj en su proyecto, no dude en abrir un PR para incluirlo en la lista anterior.
Agregue la dependencia en su archivo Package.swift :
let package = Package (
name : " myproject " ,
dependencies : [
. package ( url : " https://github.com/tuist/XcodeProj.git " , . upToNextMajor ( from : " 8.12.0 " ) ) ,
] ,
targets : [
. target (
name : " myproject " ,
dependencies : [ " XcodeProj " ] ) ,
]
) Usando swift-sh puede automatizar las tareas de proyectos utilizando scripts, por ejemplo, podemos hacer un script que mantenga la clave de versión de un proyecto sincronizada con la etiqueta GIT actual que representa la versión del proyecto:
#!/usr/bin/swift sh
import Foundation
import XcodeProj // @tuist ~> 8.8.0
import PathKit
guard CommandLine . arguments . count == 3 else {
let arg0 = Path ( CommandLine . arguments [ 0 ] ) . lastComponent
fputs ( " usage: ( arg0 ) <project> <new-version> n " , stderr )
exit ( 1 )
}
let projectPath = Path ( CommandLine . arguments [ 1 ] )
let newVersion = CommandLine . arguments [ 2 ]
let xcodeproj = try XcodeProj ( path : projectPath )
let key = " CURRENT_PROJECT_VERSION "
for conf in xcodeproj . pbxproj . buildConfigurations where conf . buildSettings [ key ] != nil {
conf . buildSettings [ key ] = newVersion
}
try xcodeproj . write ( path : projectPath ) Luego puede almacenar esto en su repositorio, por ejemplo, en scripts/set-project-version y luego ejecutarlo:
$ scripts/set-project-version ./App.xcodeproj 1.2.3
$ git add App.xcodeproj
$ git commit -m " Bump version "
$ git tag 1.2.3 La adaptación futura podría incluir fácilmente determinar la versión y golpearla automáticamente. Si es así, recomendamos usar una biblioteca que proporcione un objeto Version .
[email protected]:tuist/xcodeproj.git .Package.swift con xcode. XCodeproj se publica bajo la licencia MIT. Vea la licencia para más detalles.
Gracias a estas maravillosas personas (Key Emoji):
Joseph Colicchio ? | desatado ? | Dan Fleming | Sascha schwabbauer ? | Marcin iwanicki ? | Adam Khazi ? | Elliott Williams |
Muukii ? | Yuya oka | Keith Smiley ? | Ian Leitch | Subbotina daniil | Florentin Bekier | Vadim Smal ? |
Freddi (Yuki Aki) | Kristopher Jackson | Jake Prickett | Jake Adams | matsuji | Bogdan Beloguurov | Chuck Grindel |
Michael McGuire | C- 凡 | Maxwell Elliott | Brentley Jones | Teameh | Johannes ebeling | baegteun |
Alex Kovács | Christoffer Winterkvist | Timothy Costa | María | Md. Ibrahim Hassan | tatagrigory | Ruslan Alikhamov |
Ladislas de Telli | Matt Massicotte | Артеíf | Jaewon-yun | Mike Gerasymenko | Filip Racki | Kelvin Harron |
George Navarro | Máxima |
Este proyecto sigue la especificación de todos los contribuyentes. ¡Contribuciones de cualquier tipo bienvenido!