O XcodeProj é uma biblioteca escrita em Swift para analisar e trabalhar com projetos Xcode. É fortemente inspirado pelos Cocoapods Xcodeproj e Xcode.
| Projeto | Repositório |
|---|---|
| Projlint | github.com/jamitlabs/projlint |
| Regras_xcodeproj | github.com/buildbuddy-io/rules_xcodeproj |
| Rugby | github.com/swiftyfinch/rugby |
| Sourcery | github.com/krzysztofzablocki/sourcery |
| Tuist | github.com/tuist/tuist |
| XcodeGen | github.com/yonaskolb/xcodegen |
| xspm | gitlab.com/pyroh/xspm |
| Manifesto de privacidade | github.com/stelabouras/privacy-manifest |
Se você também estiver aproveitando o XCodeProj em seu projeto, fique à vontade para abrir um PR para incluí -lo na lista acima.
Adicione a dependência no seu arquivo 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 você pode automatizar as tarefas do projeto usando scripts, por exemplo, podemos fazer um script que mantenha a chave da versão de um projeto em sincronia com a tag git atual que representa a versão do projeto:
#!/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 ) Você pode então armazenar isso em seu repositório, por exemplo, no scripts/set-project-version e executá-lo:
$ scripts/set-project-version ./App.xcodeproj 1.2.3
$ git add App.xcodeproj
$ git commit -m " Bump version "
$ git tag 1.2.3 A adaptação futura pode incluir facilmente determinar a versão e esbarrar automaticamente. Nesse caso, recomendamos o uso de uma biblioteca que fornece um objeto Version .
[email protected]:tuist/xcodeproj.git .Package.swift com Xcode. Xcodeproj é liberado sob a licença do MIT. Consulte a licença para obter detalhes.
Obrigado a essas pessoas maravilhosas (key emoji):
Joseph Colicchio ? | Deatondg ? | Dan Fleming | Sascha Schwabbauer ? | Marcin Iwanicki ? | Adam Khazi ? | Elliott Williams |
Muukii ? | Yuya oka | Keith Smiley ? | Ian Leitch | Daniil Subbotina | Florentin Bekier | Vadim Smal ? |
Freddi (Yuki Aki) | Kristopher Jackson | Jake Prickett | Jake Adams | Matsuji | BOGDAN BELOGUROV | Chuck Grindel |
Michael McGuire | C- 凡 | Maxwell Elliott | Brentley Jones | Teameh | Johannes Ebeling | Baegteun |
Alex Kovács | ChristOffer Winterkvist | Timothy Costa | Mary | Md. Ibrahim Hassan | TataGrigory | Ruslan Alikhamov |
Ladislas de disse | Matt Massicotte | А ао в а а а а а а а аT | Jaewon-Yun | Mike Gerasymenko | Filip racki | Kelvin Harron |
George Navarro | Máxima |
Este projeto segue a especificação de todos os contribuintes. Contribuições de qualquer tipo de boas -vindas!