programing

번들에서 'Main'이라는 이름의 스토리보드를 찾을 수 없습니다.

javaba 2023. 5. 29. 21:42
반응형

번들에서 'Main'이라는 이름의 스토리보드를 찾을 수 없습니다.

오류가 이한오발생니다합가류상.'Could not find a storyboard named 'Main' in bundle NSBundle'실제 iOS 기기에서 내 앱을 실행하려고 할 때.

제 디렉토리에 파일이 있는데 시뮬레이터에서 잘 작동합니다.에서, 안서에.Copy Bundle Resources " ", "Main.storyboard빨간색입니다.

제거했다가 다시 추가하고, Xcode를 다시 시작하고, 빌드를 청소하는 등 시도해봤지만 소용이 없었습니다.다음은 Xcode에서 발생하는 경고입니다.

/Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard: Internationalization of /Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard is not available when compiling for targets before iOS 6.0

한 행을 합니다.여기에 이미지 설명 입력

검은색 화면이 표시되면 새 초기 스토리보드가 기본 인터페이스로 선택되었는지 확인합니다.

2021년에는...

또편야합니를 편집해야 .UIApplicationSceneManifest아래의 최신 답변을 참조하십시오.

Xcode 11에서 이 문제에 직면한 모든 사용자를 위해 스토리보드 없는 프로젝트 설정을 수행할 때 이 문제가 발생할 경우 다음과 같이 해결할 수 있습니다.

(리카르도페레이라가 놓친 일부 부품 추가)

먼저, Main.storyboard 파일을 삭제합니다.

다음으로 PROJECT_NAME -> GENERAL로 이동합니다.

주 인터페이스 드롭다운에서 주 텍스트 삭제

일반 설정에서 주에 대한 참조 제거

이제 info.plist로 이동하여 스토리보드 이름을 삭제합니다.

info.plist에서 스토리보드에 대한 참조 제거

마지막으로 SceneDelegate.swift 파일에서 장면(_:willConnectTo:options) 코드를 수정합니다(예! 더 이상 AppDelegate에 없습니다).

var window: UIWindow?


    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
        // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
        // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
        guard let windowScene = (scene as? UIWindowScene) else { return }
        window = UIWindow(frame: windowScene.coordinateSpace.bounds)
        window?.windowScene = windowScene
        window?.rootViewController = ViewController()
        window?.makeKeyAndVisible()
    }

대신 이 비디오를 참조할 수도 있습니다. https://www.youtube.com/watch?v=Htn4h51BQsk

스토리보드의 대상 회원 자격을 확인할 수 있습니다.문제가 발생할 수 있습니다.

다음과 같이 표시되어야 합니다.

대상 구성원 자격

iOS 13.0 이상용으로 생성된 응용 프로그램에 대한 업데이트입니다.(Xcode 11)

info.plist의 "Main storyboard File base name"과 "Deployment in Target" 아래의 "Main Interface"를 변경한 후에도 번들에서 'Main'이라는 이름의 스토리보드를 찾을 수 없습니다.

그런 다음 info.plist 파일의 다른 항목을 변경해야 합니다.

  1. info.plist 파일을 엽니다.
  2. 응용프로그램 장면 매니페스트를 확장합니다.
  3. "장면 구성"을 확장합니다.
  4. 응용프로그램 세션 역할에서 항목 0을 확장한 다음 여기서 스토리보드 이름을 변경합니다.

여기에 이미지 설명 입력

그러면 응용 프로그램이 작동하기 시작합니다.

iOS 13과 Xcode 11에서 사용하는 프로젝트에서, 당신은 그것을 제거해야 합니다.UISceneStoryboardFile의 키.plist.

Xcode 11:

xcode11-uiscene

파일에서 직접 변경:

위신 플레이리스트

핸드폰에서 앱을 삭제하고 Product--> Clean을 하고 다시 로드했습니다.그게 저에게 필요한 전부입니다.

이 오류가 발생했지만 스토리보드를 완전히 제거하려는 의도였습니다.

내 목록에서 '메인 스토리보드 파일 기본 이름' 키를 제거하면 오류가 해결됩니다.

번들에서 'Main'이라는 이름의 스토리보드를 찾을 수 없습니다.

제가 생각할 수 있었던 이유:

제 iOS 지식으로는 XCode가 제 프로젝트 디렉토리에서 Main.storyboard 파일을 App에 복사할 참조를 찾지 못했기 때문에 발생한 일입니다.

해상도:

  1. Main.storyboard 파일을 선택하고 다음과 같이 팝업되는 대화 상자에서 삭제를 시도했습니다.

  2. 참조 제거 단추를 누릅니다.

  3. 그런 다음 프로젝트 디렉터리에서 Main.storyboard 파일을 찾을 수 있는 실제 위치에서 XCode로 끌어다 놓았고 다음과 같이 팝업되는 대화 상자에서 다시 찾을 수 있습니다.

  4. 저는 "폴더 참조 만들기"를 선택했습니다(프로젝트의 파일 및 폴더 구조를 변경했기 때문에 이 작업을 수행하려고 했습니다).그러나 대부분의 경우 "그룹 만들기"를 선택하면 효과가 있을 수 있습니다.그리고 "마침" 버튼을 클릭했습니다. 스크린샷에 있는 것처럼 내에 .Base.lproj다음과 같습니다.

    여기에 이미지 설명 입력

    참고: 이 단계에서 한 가지 중요한 사항은 앱의 "대상에 추가" 확인란에 체크 표시하는 것을 잊지 마십시오.

  5. 제품을 청소하고 다시 빌드한 후 성공적으로 실행하면 대부분의 경우 성공적으로 실행됩니다.

이것이 다른 누군가에게 도움이 되기를 바랍니다!저는 이것을 XCode 7.3.1과 iOS Sim 9.3과 아이폰 6S에서 시도했습니다!

다음 단계를 수행합니다.

먼저 스토리보드를 클릭합니다.

그런 다음 파일 검사기를 클릭합니다.

그런 다음 "대상 구성원 자격"을 선택합니다.

스크린샷

xcode 버전이 14.0.1 이상이면,

그림에 표시된 'UIKit 메인 스토리보드 파일 베이스 이름'에서 이름을 삭제합니다.

그리고 Target -> Info -> 메인 스토리보드 파일 base name 값을 삭제해야 합니다.

이것이 도움이 되길 바랍니다.

시뮬레이터는 대소문자를 구분하지 않지만 장치는 대소문자를 구분합니다.스토리보드의 이름이 메인 스토리보드가 아닌 메인 스토리보드인 경우 문제가 발생합니다.그리고 aslo * 확장자를 사용하지 마십시오. 스토리보드 이름만 씁니다.

메인.스토리보드 -> 메인만 스토리보드 이름입니다.

Swift 5.1 & xCode 11.2

저의 경우, 옷 갈아입는 것을 잊었습니다.

여기에 이미지 설명 입력

Info.plist 소스 코드

    <dict>
        <key>UIApplicationSupportsMultipleScenes</key>
        <false/>
        <key>UISceneConfigurations</key>
        <dict>
            <key>UIWindowSceneSessionRoleApplication</key>
            <array>
                <dict>
                    <key>UISceneConfigurationName</key>
                    <string>Default Configuration</string>
                    <key>UISceneDelegateClassName</key>
                    <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
                    <key>UISceneStoryboardFile</key>
                    <string>AccountViewController</string>
                </dict>
            </array>
        </dict>
    </dict>

또한 스토리보드 이름을 제거해 보십시오.

여기에 이미지 설명 입력

  1. 스토리보드 파일 열기
  2. 그런 다음 파일 검사기를 클릭합니다.
  3. 그런 다음 "Target Membership"을 선택하고 프로젝트를 확인합니다.
  4. 스토리보드에서 ViewController.swift 또는 ViewController.m을 사용하는 경우에도 ViewController 파일!!!중요한 부분에 대해서도 동일한 작업을 수행합니다.

파일을 삭제한 후 휴지통에서 main.storyboard 파일을 복구하는 동안 이 오류가 발생합니다.저도 어제 같은 문제에 직면했습니다.

main.storyboard의 파일 검사기에서 main.storyboard의 위치 경로를 Relative to Group으로 설정해야 합니다.그 후 동일한 속성으로 앱 대상에 체크 표시를 보험에 가입해야 합니다(첨부된 사진과 같이).

여기에 이미지 설명 입력

14의 -> values -> Xcode 14에서 Targets -> Build Settings -> Info.plist values ->로 하였습니다.UIKit Main Storyboard File Base Name이전과 같이 배포 정보 아래에 있는 대신 여기에서 참조를 제거해야 합니다.

XCode 14.1에서 Main을 사용하지 않으려는 경우.StoryBoard를 삭제한 후 4단계에서 이미지를 보고 "Main"을 제거합니다.

메인 스토리 보드를 추가한 경우 4단계에서 "메인"을 작성합니다.이 이미지는 이 주요 문제를 해결하는 방법을 보여줍니다.

Xcode 10.1로 업그레이드한 후 저에게 도움이 된 두 가지

  • 파일->작업영역(또는 프로젝트) 설정에서.기존 빌드 시스템으로 전환합니다.

  • 대상 빌드 단계에서 Copy Bundle Resources(목록에 있는 경우)에서 Base.lproj 폴더를 제거하고 대신 각 스토리보드가 나열되고 개별적으로 복사되는지 확인합니다.

위의 수정 사항 중 하나를 적용한 후 제품 메뉴에서 빌드 폴더를 정리해야 합니다. 그렇지 않으면 수정 사항이 제대로 작동하지 않을 수 있습니다.

내 앱에서도 행 인플리스트 삭제로 인해 검은 화면이 발생했습니다.그리고 스토리보드의 대상 멤버쉽을 활성화하여 수정했습니다.

Kalpit Gajera가 말했듯이, "프로젝트의 info.plist를 열고 스크린샷에 표시된 선택된 행을 제거하십시오."Info.plist에서 '메인 스토리보드 파일 기본 이름'을 제거하기만 하면 됩니다.제거하고 치료한 후 실행하면 프로그램이 더 이상 실패하지 않고 검은색 화면이 표시됩니다.Info.plist를 다시 열고 행을 수동으로 다시 추가합니다.문제는 해결됐습니다.

그래도 검은색 화면이 표시되면 씬(scene) 대리자에 아래 코드를 추가해 보십시오.

willConnect로.

    guard let windowScene = (scene as? UIWindowScene) else { return }
    window = UIWindow(frame: windowScene.coordinateSpace.bounds)
    window?.windowScene = windowScene
    let navController = UINavigationController()
    let mainstoryboard:UIStoryboard = UIStoryboard(name: "Your storyboard name", bundle: nil)
    let initialController = mainstoryboard.instantiateViewController(withIdentifier: "your initial controller Identifier") as! initialController
    navController.addChild(initialController)
    window?.rootViewController = navController
    window?.makeKeyAndVisible()

라는 이름의 내 프로젝트를 위해.ZHE Admin메인 스토리보드의 이름을 로 바꿨습니다.home변경하는 것 외에는info.plist파일, 여기 스크린샷과 같이 빌드 설정에서 변경해야 했습니다.

여기에 이미지 설명 입력

main.storyboard를 선택하고 iOS 6.1 이전 버전으로 보기를 변경하면 xcode가 당신이 무엇을 해야 하는지 알려줄 것입니다.

여기에 이미지 설명 입력

내 솔루션은 다음과(와)

두 보기 사이에 Seque 연결을 추가하고 Projekt 구성에서 배포 대상이 8.0보다 작으면 이 오류가 발생합니다.

좋아요. IOS 6.0용으로 개발할 때 이해하기 쉽습니다(예를 들어). Seque에는 IOS 8.0 이상이 필요하기 때문에 Seque를 사용할 수 없습니다... ;-)

그래서, 저는 배포 대상을 8.0으로 설정했고 오류가 사라졌습니다!!!!한편, 나는 모든 세그 커넥션을 취소하고 IBAction, 오래된 학교;-)로 처리합니다.

메인을 옮기고 있었어요.스토리보드 파일을 "파란색" 하위 폴더에 추가하여 문제를 일으켰습니다. 다음 지침에 따라 하위 폴더를 추가해야 했습니다. Xcode 6.3파일 문제

다음으로 메인 이동.스토리보드 파일에서 노란색 하위 폴더로 이동하는 것은 나에게 효과가 있었습니다.

내 문제는 다음을 제거함으로써 해결되었습니다..xml의 접미사.Main.storyboard.xml file.

프로젝트를 가져온 버전에서 접미사가 변경된 것 같습니다.

따라서 파일 이름 변경(삭제).xml접미사) 및 다시 시작한 다음Project-> clean....문제를 해결했습니다.

스토리보드가 프로젝트에 추가된 경우(xcode 유틸리티 대상 구성원 자격 영역에 확인란이 표시되어 있습니다.영역의 프로젝트 파일 관리자 섹션에서 결정)

당신은 단지 제거하기만 하면 됩니다.Main.Storyboard"묶음 리소스 복사"에서(내)Build Phase)을 클릭하고 "묶음 리소스 복사"에 다시 추가합니다.이것은 여기에 이미지 설명 입력저를 위해 만들어졌습니다.

참고: 일부 ViewController가 누락된 경우 "번들에서 'ReceiverViewController'라는 이름의 스토리보드를 찾을 수 없습니다."라는 이름을 storyBoard id에 추가하고 아래 코드를 사용하여 탐색할 수 있습니다.

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyBoard.instantiateViewController(withIdentifier: "ReceiverViewController") as! ReceiverViewController
    self.navigationController?.pushViewController(vc, animated: true)

자, 이것은 하나의 과정이었습니다.여러 가지 시도를 해보는 것.OS 10.11에서 xcode 6.4 실행.를 사용하여 '기본' 문제를 찾을 수 없습니다.마침내 제가 한 일은 파인더에서 제 바탕화면에 있는 메인 스토리보드를 떼어낸 것입니다.정리하고 빌드하고 xcode를 종료했습니다.이제 xcode를 다시 시작했습니다. 빨간색 메인.스토리보드가 있습니다. 저는 그것을 실행합니다. 사실상 같은 일을 합니다.그런 다음 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하고 파일 추가 옵션을 선택합니다.그것이 있는 곳을 찾아 열어 보세요. 그리고 그것이 오른쪽에 있을 때 신원 조사관이 있어야 합니다.위치 아래에 있는 작은 폴더를 클릭합니다. 해당 폴더를 다시 찾은 후 선택하십시오.그리고는 달려갔고 효과가 있었습니다.아멘!!!

스토리보드 왼쪽의 목록에서 먼저 표시할 뷰 컨트롤러를 선택한 다음 속성 검사기에서 제목이 "기본"이고 "초기 뷰 컨트롤러 여부" 확인란이 선택되어 있는지 확인합니다.

언급URL : https://stackoverflow.com/questions/19240054/could-not-find-a-storyboard-named-main-in-bundle

반응형