1. 설치
> curl -Ls https://install.tuist.io | bash
성공화면
2. 프로젝트 생성, 실행
> mkdir TuistTest
> cd TuistTest
> tuist init --platform ios //UIkit
//tuist init --platform ios --template swiftui // SwiftUI
성공화면
잘 된것!
3. manifast 설정
> tuist edit
해줬는데 오류뜸 ㅜ
Couldn't find Xcode's Info.plist at /Library/Contents/Info.plist. Make sure your Xcode installation is selected by running: sudo xcode-select -s /Applications/Xcode.app
Consider creating an issue using the following link: https://github.com/tuist/tuist/issues/new/choose
sudo xcode-select -s /Applications/Xcode.app 을 입력해보라고 한다.
유저-MacBookPro TuistTest % sudo xcode-select -s /Applications/Xcode.app
xcode-select: error: invalid developer directory '/Applications/Xcode.app'
시키는대로 해줬더니 디렉토리에서 Xcode.app을 찾을 수 없다는것 ㅎ,,
근데 진짜 경로 틀렸던거였음 ㅋㅋㅎ...ㅎ.....
다시 tuist edit 해주니까
Manifests- Project파일 뜸! 그래서 아래와 같이 설정
이름, 번들아이디 찾아서 잘 맞춰줘야함 !
ctrl + c 해서 저장해준 후
4. 프로젝트 패치, 생성
> tuist fetch
> tuist generate
// tuist generate --project-only 프로젝트 파일만 생성
했는데 아래와 같은 오류 뜬다면 타겟 설정 어딘가 잘못된것,, 패스, 번들아이디, 이름 등등 확인하기
The target TuistTest has the following invalid source files globs:
성공화면
4. 의존성 추가해보기
> mkdir MyPackage
> cd MyPackage
> swift package init
> swift build
> swift test
깃허브 올려두고 url쓰는 분이 더 많긴 했지만, 일단 로컬파일로 테스트 해봄!
import ProjectDescription
let target = Target(
name: "TuistTest",
platform: .iOS,
product: .app,
bundleId: "io.tuist.TuistTest",
infoPlist: .default,
sources: ["Targets/TuistTest/Sources/**"],
resources: ["Targets/TuistTest/Resources/**"],
dependencies: [
.package(product: "MyPackage"),
]
)
let project = Project(
name: "TuistTest",
organizationName: nil,
options: .options(),
packages: [
.package(path: "MyPackage")
],
settings: nil,
targets: [target],
schemes: [],
fileHeaderTemplate: nil,
additionalFiles: [],
resourceSynthesizers: []
)
이렇게 해준 후 class 내부에서 MyPackage를 import하면 사용할 슈 있다고 한다!
빌드 되는거 까지 확인했으니까 되는거겠지..? ㅎ,ㅎ.ㅎ.ㅎ..ㅎ....?
'PROGRAMMING CODE > SWIFT' 카테고리의 다른 글
[UIkit] Tap bar (storyboard) (0) | 2023.12.01 |
---|---|
[UIkit] Navigation Bar (storyboard) (0) | 2023.12.01 |
[Xcode] Tuist 개념들 (0) | 2023.11.22 |
[UIkit] selector, 함수 전달할 때 @objc를 붙이는 이유 (0) | 2023.11.20 |
[UIkit] 애니메이션 추가 (1) | 2023.11.20 |