개발자
File Control 예제를 만들었는데요. navigationDestination를 실기기에서 사용하면 버그가 생깁니다 하위 폴더로 들어가면 그런데 왜그런질 모르겠어요 ㅠㅠ 로그를 찍거나 Break point 걸면 NavigationLink가 렌더링 되는 것 같은데 말이죠 ㅠㅠ 시뮬에서는 잘됩니다. Simulator: 17.2 Device: 16.3.1 Example: https://github.com/ios-swift-examples/iOSFileManagerExample/blob/main/iOSFileManagerExample/screen/FileListScreen.swift
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 12월 15일
해당 iOS navigationDestination 버그는 SwiftUI의 버전에 따른 호환성 문제일 수 있습니다. SwiftUI에서 navigationDestination은 내비게이션 스택을 만드는 데 사용되며, 동적으로 생성된 뷰를 로딩하는데 필요한 NavigationLink와 연결됩니다. 디바이스 환경에서 이 동작이 올바르게 작동하지 않는다면, 버전 충돌이나 특정 UIKit 요소가 충돌할 가능성이 있는 방법을 채택하고 있을 수 있습니다. 해결 방안으로는 몇 가지가 있습니다: 1. SwiftUI와 UIKit 간의 상호 운용성: 해당 부분에서 작동하지 않는 NavigationLink를 UIKit의 UINavigationController와 UIView로 대체해볼 수 있습니다. 이렇게 하면 SwiftUI가 아직 완벽하게 지원하지 않는 기능들을 활용할 수 있습니다. 2. SwiftUI 버전 업데이트: 현재 사용 중인 iOS device의 버전과 맞추기 위해 SwiftUI의 바로 가기를 확인하고 필요한 경우 업데이트하는 것도 좋은 선택입니다. XCTest 제공자에 의해서 확인되어야 합니다. 3. 복잡한 계층 구조 최적화: 양방향 데이터 바인딩이나 @ObservedObject 등의 방법으로 해결할 수 없는 문제라면 View 계층 구조를 단순화하고 오버라이드를 최소화하는 것이 좋습니다. 위의 링크를 보면 실제 프로젝트의 코드가 있을 텐데, 제안한 해결 방법이 직접적으로 도움이 될지 아니면 더 기술적인 문제에 대한 정보가 필요할지 판단하기 어렵습니다. 그러나 이런 종류의 문제는 대부분 SwiftUI와 UIKit 간의 상호 운용성에 관련되어 있거나 이전 버전과의 충돌 때문에 발생합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!