Xcodeproj - это библиотека, написанная в Swift для анализа и работы с проектами Xcode. Это сильно вдохновлено Cocoapods Xcodeproj и Xcode.
| Проект | Репозиторий |
|---|---|
| Projlint | github.com/jamitlabs/projlint |
| ravels_xcodeproj | github.com/buildbuddy-io/rules_xcodeproj |
| Регби | github.com/swiftyfinch/rugby |
| Искажен | github.com/krzysztofzablocki/sourcery |
| Туист | github.com/tuist/tuist |
| XCODEGEN | github.com/yonaskolb/xcodegen |
| XSPM | gitlab.com/pyroh/xspm |
| Конфиденциальность проявляется | github.com/stelabouras/privacy-manifest |
Если вы также используете Xcodeproj в своем проекте, не стесняйтесь открывать пиар, чтобы включить его в список выше.
Добавьте зависимость в свой 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 " ] ) ,
]
) Используя swift-sh вы можете автоматизировать задачи проекта, используя сценарии, например, мы можем сделать сценарий, который хранит ключ версии проекта синхронизирована с текущим тегом GIT, который представляет версию проекта:
#!/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 ) Затем вы можете сохранить это в своем репозитории, например, в scripts/set-project-version , а затем запустить:
$ scripts/set-project-version ./App.xcodeproj 1.2.3
$ git add App.xcodeproj
$ git commit -m " Bump version "
$ git tag 1.2.3 Будущая адаптация может легко включить определение версии и автоматическое увеличение ее. Если это так, мы рекомендуем использовать библиотеку, которая предоставляет объект Version .
[email protected]:tuist/xcodeproj.git .Package.swift Соберите с XCODE. Xcodeproj выпускается по лицензии MIT. Смотрите лицензию для деталей.
Спасибо этим замечательным людям (ключ эмодзи):
Джозеф Колиткио ? | Deatondg ? | Дэн Флеминг | Саша Шваббауэр ? | Марцин Иваницки ? | Адам Хази ? | Эллиот Уильямс |
Мукии ? | Юя Ока | Кит Смайли ? | Ян Лейтч | Даниил субботин | Флорентин Бекье | Вадим Смал ? |
Фредди (Юки Аки) | Кристофер Джексон | Джейк Прикетт | Джейк Адамс | Мацуджи | Богдан Белогуров | Чак Гриндель |
Майкл МакГуайр | C- 凡 | Максвелл Эллиотт | Брентли Джонс | Команда | Йоханнес Эбелинг | Baegteun |
Алекс Ковачс | Кристоффер Винтерквист | Тимоти Коста | Мэри | Md. Ибрагим Хасан | Татагригорий | Руслан Алихахамов |
Ladislas de Toldi | Мэтт Массикотт | Артем | Jaewon-Yun | Майк Герасименко | Филип Ракки | Кельвин Харрон |
Джордж Наварро | Максимум |
Этот проект следует за спецификацией всех контролей. Взносы любого вида приветствуются!