Main 스토리보드 파일을 삭제하고 빌드하면 아래와 같은 오류가 발생합니다. 파일을 삭제하고도 빌드할 수 있는 방법을 적어보고자 합니다.
프로젝트를 생성하면 아래 이미지 형태와 유사합니다. 기본적으로 생성되어 있는 ViewController 파일을 삭제하고 다른 ViewController 파일을 생성했을 뿐입니다.
Main 스토리보드 파일을 삭제합니다.
SceneDelegate 파일에 아래처럼 작성했습니다. 이 상태에서 빌드하면 가장 위에서 보여드렸던 이미지처럼 오류가 발생합니다.
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(windowScene: windowScene)
let navigationController = UINavigationController()
let viewController = ProgrammaticallyViewController()
navigationController.pushViewController(viewController, animated: true)
window?.rootViewController = navigationController
window?.makeKeyAndVisible()
}
}
이를 해결해보려 합니다. Xcode의 프로젝트 네비게이터에서 가장 위에 있는 프로젝트를 선택하고, Build Settings로 이동하면 아래 이미지처럼 Info.plist Values가 있습니다. UIKit Main Storyboard File Base Name 항목을 선택한 모습입니다.
더블 클릭하고 내용을 비워줍니다.
Info plist 파일로 이동합니다. 처음 진입하면 Information Property List가 모두 접혀있을 것입니다. 아래로 모두 펼처주고 Storyboard Name을 찾습니다.
아래처럼 삭제하고 빌드하면 오류가 발생하지 않고 빌드할 수 있게 됩니다.
요약하면 첫 번째, Build Settings로 이동해서 Storyboard Name 항목 내용을 지우고, 두 번째, Info plist 파일에서 Storyboard Name 항목을 삭제하면 Main 스토리보드 파일 없이 빌드가 됩니다.