인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

smart_ares님의 프로필 이미지

작성한 질문수

앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스

런타임 오류... 부탁드립니다.

해결된 질문

작성

·

85

0

스크린샷 2025-04-17 오후 9.33.26.png.webp스크린샷 2025-04-17 오후 9.34.29.png.webp스크린샷 2025-04-17 오후 9.30.44.png.webp스크린샷 2025-04-17 오후 9.29.07.png.webp

 

강사님 요즘에 계속 질문사항을 올리고 있는 열혈 수강생입니다.

섹션21. ATS 강의를 수강하면서 실습을 하고 있는데요..

Book 프로젝트를 실습하던중에  DetailView화면에서 북마크버튼을 터치하면 런타임 오류가 납니다.

시뮬레이터는 Iphone 15 Pro로 했는데, 런타임 오류가 납니다.

어디가 잘못됐는지 도통 잡히지가 안네요.

조언 부탁드립니다.

답변 2

0

KxCoding님의 프로필 이미지
KxCoding
지식공유자

에러 메시지로 봐서는 WKWebView가 정상적으로 링크되지 않은것 같습니다.

이 때는 아래와 같은 순서로 직접 연결해 주시면 해결됩니다.

  1. 프로젝트 네비게이터에서 프로젝트 선택

  2. 타깃 선택

  3. General 탭에서 Frameworks, Libraries, and Embedded Content 섹션

  4. + 클릭 후 WebView 검색

  5. WebKit.framework 선택 후 Add 클릭

ps. 항상 열심히 공부해 주셔서 감사합니다. 마지막 강의까지 화이팅입니다!!!

smart_ares님의 프로필 이미지
smart_ares
질문자

안녕하십니까?

답변 감사드립니다.

말씀하신대로 하니 런타임 오류는 나지 않습니다.

그런데 웹뷰에 링크페이지가 뜨지 않습니다.

아울러 시뮬레이터는 종료하면 에러가 뜹니다.

죄송합니다만 한번더 확인부탁드립니다

스크린샷 2025-04-18 오전 9.23.55.png.webp

 

스크린샷 2025-04-18 오전 9.24.42.png.webp

 

스크린샷 2025-04-18 오전 9.25.20.png.webp

 

스크린샷 2025-04-18 오전 9.25.38.png.webp

.

KxCoding님의 프로필 이미지
KxCoding
지식공유자

디코딩 타입을 다시 한 번 확인해 보시기 바랍니다.

struct Books: Codable {
    let totalCount: Int
    let code: Int
    let message: String?
    let list: [BookSummary]

    struct BookSummary: Codable {
        let id: Int
        let title: String
    }
}
struct BookDetail: Codable {
    let code: Int
    let message: String?
    let data: Book

    struct Book: Codable {
        let id: Int
        let title: String
        let summary: String
        let storeLink: URL
        let publicationDate: Date
    }
}

BookDetail에서 Book 타입의 속성이 data가 아니라 book으로 되어 있는것 같습니다.

smart_ares님의 프로필 이미지
smart_ares
질문자

프로젝트 네비게이터에서 WebKit.framework을 Embed & Sign으로 해서 실행하면

이미지와 같은 오류가 뜹니다.

 

바쁘신데, 죄송합니다.

확인 부탁드립니니다

스크린샷 2025-04-18 오전 9.34.44.png.webp

.

KxCoding님의 프로필 이미지
KxCoding
지식공유자

  1. WebKit.framework 항목 오른쪽에 표시되는 설정이 Do Not Embed가 아니라면 Do Not embed로 바꿔 보시기 바랍니다.

  2. Shift + Cmd + K 키를 눌러서 캐시를 삭제 후 다시 시도해 보세요.

  3. 지속적으로 동일한 문제가 발생한다면, Xcode 캐시 폴더 전체를 삭제하고 시뮬레이터를 초기화 해 보시기 바랍니다.

smart_ares님의 프로필 이미지
smart_ares
질문자

강사님께서 말씀해주신대로 하니 모든 문제가 해결되었습니다.

정말 감사드립니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. smart_ares님.

런타임 오류는 Swift 개발 중 자주 접하게 되는 문제로, 특히 WKWebView와 관련된 오류는 iOS 개발 초기에 발생할 수 있습니다. 오류 메시지에서 Could not instantiate class named WKWebView라는 부분을 보실 수 있는데요, 이는 WKWebView가 인스턴스화되지 않는 문제를 나타냅니다.

다음은 이 문제를 해결할 수 있는 몇 가지 제안사항입니다:

  1. iOS Deployment Target 확인:

    • WKWebView는 iOS 8 이상에서만 사용 가능하기 때문에, 혹시 타겟 버전이 낮게 설정되어 있는지 확인해 보세요.
  2. Xcode 및 라이브러리 설정 확인:

    • WebKit 프레임워크가 프로젝트에 제대로 추가되어 있는지 확인해 보세요. 또한, 프로젝트의 Build Settings에서 Linking 설정이 올바른지 점검하세요.
  3. 시뮬레이터 재실행:

    • 간혹 시뮬레이터의 오류로 인해 발생할 수 있으므로, 시뮬레이터를 재부팅하거나 다른 기기로 테스트해 보세요.

아래의 유사한 질문에서 추가적인 확인 방법과 답변을 참조할 수 있습니다:

위의 링크를 통해 유사한 문제 해결 과정을 참고하시고, 추가적으로 궁금한 점이 있다면 언제든 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.