[Tuist] Version 4 / UIKit / AppDelegate / SceneDelegate
2024. 3. 28. 21:42ㆍ🍏/Xcode
Tuist init UIKit without Storyboard with version 4
tuist init --platform ios
tuist init --platform ios
4.8.0 버전에서는 default가 SwiftUI로 되어있으므로, 이를 UIKit으로 진행하기 위해 아래와 같은 프로세스를 따릅니다.
Tuist init 이후
AppDelegate로 진행하는 경우 UIKit without Storyboard로 전환하는 방법은 간단합니다.
그냥 소스를 지워주시고 아래와 같이 앱델리게이트를 채택해 만들어 주시기만 하면 됩니다.
AppDelegate.swift
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
let viewController = UIViewController()
viewController.view.backgroundColor = .orange
window?.rootViewController = viewController
window?.makeKeyAndVisible()
return true
}
}
위와 같이 간단하게 진행가능 합니다.
SceneDelegate에서 진행하는 경우에는 Tuist edit을 통해 infoPlist를 수정해주어야합니다. UIApplicationSceneManifest 에 해당 키값들을 추가해줍니다.
infoPlist: .extendingDefault(
with: [
"UILaunchStoryboardName": "LaunchScreen.storyboard",
"UIApplicationSceneManifest": [
"UIApplicationSupportsMultipleScenes": false,
"UISceneConfigurations": [
"UIWindowSceneSessionRoleApplication": [
[
"UISceneConfigurationName": "Default Configuration",
"UISceneDelegateClassName": "$(PRODUCT_MODULE_NAME).SceneDelegate"
],
]
]
],
]
),
SceneDelegate.swift
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
let viewController = UIViewController()
viewController.view.backgroundColor = .orange
window?.rootViewController = viewController
window?.makeKeyAndVisible()
}
}
AppDelegate.swift
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
}
tuist generate
tuist generate 이후에 run해보면 제대로 화면이 나오는 것을 확인하실 수 있습니다.
Resources에서 필요없는 부분들은 삭제해도 무방합니다.
위 글은 Tuist의 기본 설정입니다.
'🍏 > Xcode' 카테고리의 다른 글
[Tuist+Fastlane+GithubAction] App 배포 CI/CD 과정 (0) | 2024.04.28 |
---|---|
[Tuist] Version 4 / config / package / dependencies (0) | 2024.03.29 |
[Tuist] Version 4 / init / edit / generate / 초기설정 / 수정 / 실행 (1) | 2024.03.27 |
[instruments.app] Debugging / C / C++ / Program (0) | 2024.03.20 |
[Xcode] Swift Build System (0) | 2024.02.01 |