묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[Lv.1] iOS 17 앱 개발 기초 - SwiftUI로 시작하기
Xcode version 문제
강의 관련된 질문은 언제나 환영입니다 😄코드 관련 상세하게 작성해주시면 더 좋아요! (상세코드를 붙여넣기 해주세요)마크다운을 사용해서 편리하게 글을 작성하세요먼저 유사한 질문이 있었는지 먼저 검색 해보는 습관~인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요안녕하세요. 제이콥강사님이제 막 시작하는 새내기입니다. 제가 설치한 Xcode 버전이 16버전인데, 혹시 이 버전으로 해도 문제가 없을까요??답변 부탁드립니다.
-
미해결[Lv.2] SwiftUI 중급 - Core Data와 SwiftData로 앱 완성하기
init-deinit의 무한루핑을 벗어나는 방법이 궁금합니다.
ObservableObject를 활용하는 것보다,새로운 Observable Macro를 활용하여 Migrating을 시도하려 했습니다.주어진 WeakSelfInterViewModel 에 대해 @Observable을 적용하고, var data String? = nil 로 property를 만들었습니다. 하지만 Init과 Deinit이 반복되어 나타나는 무한루핑이 발생하였습니다. class WeakSelfInterViewModel{ var data: String? = nil ... } struct WeakSelfInter2: View { @State var vm: WeakSelfInterViewModel = WeakSelfInterViewModel() ... } 어떻게 해결할 수 있을까요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
@Sendable 키워드
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 앨런님 저는 현재 활용 76강을 듣고 있는데요! func getMethod(completion: @escaping ([Music]?) -> Void) { // URL구조체 만들기 guard let url = URL(string: "https://itunes.apple.com/search?media=music&term=bts") else { completion(nil) return } // URL요청 생성 var request = URLRequest(url: url) request.httpMethod = "GET" // 요청을 가지고 작업세션시작 URLSession.shared.dataTask(with: request) { data, response, error in // 에러가 없어야 넘어감 guard error == nil else { print("Error: error calling GET") print(error!) completion(nil) return } // 옵셔널 바인딩 guard let safeData = data else { print("Error: Did not receive data") completion(nil) return } // HTTP 200번대 정상코드인 경우만 다음 코드로 넘어감 guard let response = response as? HTTPURLResponse, (200 ..< 299) ~= response.statusCode else { print("Error: HTTP request failed") completion(nil) return } // 원하는 모델이 있다면, JSONDecoder로 decode코드로 구현 ⭐️ do { let decoder = JSONDecoder() let musicData = try decoder.decode(MusicData.self, from: safeData) completion(musicData.results) } catch { } }.resume() // 시작} 해당 코드에서 위와같은 에러가 발생하여 @Sendable을 붙이니 해결이 되었습니다. 강의에서는 에러가 안나는 이유는 버전 차이 때문에 그런거라고 이해하면 될까요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
클로저
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 앨런님 제가 강의를 순서대로 듣는게 아니고 중간 중간 듣고 있어서 질문 드립니다! 혹시 강의에 클로저와 escaping 부분을 추가적으로 설명해주시는 부분들도 따로 있나요?강의 중간중간 이전에 이 부분은 설명했다고 나오는데, 확실히 어딘지 알 수가 없어서 질문 드립니다!
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
ThreadSafe하지 않을때 해경 방법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요안녕하세요 앨런님 수업을 듣다가 궁금한 점이 생겨서 질문 드립니다! Thread Safe하지 않을 때의 해결 방법이 다시 시리얼큐로 보내는 방법이라고 하셨는데 이때 Task 전체를 다 큐로 보내는 건가요?? 아니면 힙 메모리에 동시에 접근하는 그 일부의 작업만 보내는 건가요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
com()이 붙는이유
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 앨런님 ! 혹시 강의 준 문법 179강에서 아래와 같은 예시를 들어주셨는데요! func doSomething(com: @escaping(Void) -> Void) {DispathchQueue.global().async {print("프린트시작")sleep(3)print("프린트 종료")com()}}print("1")doSomething()print("2")해당 함수에서 꼭 com()컴플리션 핸들러가 들어가야 하나요? 아니면 해당 예시에서는 없어도 되는 걸까요?
-
해결됨쉬운 모바일 테스트 자동화 시작하기 : Appium Studio
로그인 버튼 클릭 안되는 이슈
안녕하세요 강사님현재 Appium studio 테스트 중 로그인 버튼이 클릭 안 되는 이슈가 있어 문의드립니다.하기의 캡처된 화면으로는 로그인 버튼이 초록을 테두리속에 있어야 정상적으로 버튼을 찾는거 같은데 현재 테두리와 버튼이 일치 하지 않습니다.이런 이슈는 모바일 해상도의 문제 인 건지 그리고 어떻게 이슈를 처리해야 하는지 문의드립니다.감사합니다.
-
미해결iOS Clean Architecture & MVVM: RxSwift 완전 정복
유즈케이스 프로토콜과 구현체의 분리 이유
덤벨로퍼님 안녕하세요! 덕분에 좋은 강의 잘 듣고 있습니다!!유즈케이스의 경우 프로토콜과 구현체를 분리해서 구현하셨고, 보통 다른 사람들도 분리해서 구현하더라구요.만약 기능 단위로 유즈케이스를 구현하게 된다면 굳이 프로토콜과 구현체를 분리안해도 될 것 같은데, 둘을 분리하여 얻을 수 있는 이점이 궁금합니다!의존성 관리 측면에서 이점이 있다고 생각은 되는데 잘 와닿지가 않아서요ㅠㅠ답변해주시면 감사하겠습니다 :)
-
해결됨Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
콘솔창에 값이 안찍히고 있습니다.
안녕하세요. 선생님좋은 강의 너무 잘 듣고 있습니다.wordRelay 실습 중인데, 하단 콘솔에 Executable 이나 Preview 영역에 값이 안찍히고 있어서요.입력하신단어는: aaaa 요런 값들을 확인할 수가 없네요. 에러도 안보이고요, 혹시 어떻게 해야 다시 뜨게 만들 수 있을까요?ㅜㅜ여기저기 뒤져봤는데 방법을 못찾았습니다.
-
미해결앱 개발 기초부터 실전까지 하나로 끝내는 Swift & iOS 마스터 클래스
클로저 문법최적화 확인부탁드립니다!
계산기 $9 - 문법 최적화수강중에 contains를 직접 해보라 하셔서 다른 방법으로 진행했기에 확인 부탁드립니다. // func contains(where predicate: (Self.Element) throws -> Bool) rethrows -> Bool var testarr = [1, 2, 3, 1, 2, 3]var result3 = testarr.contains(where: { (num: Int) -> Bool in // 클로저 기본형 return num > 4 // arr안에 4가 초과되는 숫자가 있는지 확인})print(result3) result3 = testarr.contains(where: { (num) in // 컴파일러가 파라미터타입과 리턴타입을 유추 할 수 있기에 생략 가능 return num > 4})print(result3) result3 = testarr.contains { $0 > 4 } // 클로저가 유일한 파라미터이고, 클로저 코드가 return밖에 없어서 ()와 return과 argument를 생략 가능print(result3)
-
해결됨쉬운 모바일 테스트 자동화 시작하기 : Appium Studio
가상 Device에서 App 설치시 생기는 에러 팝업 해결 문의
Android studio 에서 가상 device를 설정 한뒤 Appium과 연결 한 후 Experibank를 install 해보려고하는데 에러 팝업이 발생하여 Android studio의 SDK Manamger > API LEVEL 확인시 34, 24, 14 다 체크표시로 확인 되는데 제가 여기서 추가적으로 설치하거나 확인 해야 하는게 있을까요? 에러팝업 문구 내용: The application installation on the device sdk_gphone 16k_x86_64 has failedfailed to install application:INSTALL_FAILED_DEPRECATED_SDK_VERSION:App package must target at least SDK Version 24, but found 14
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
현재 시점에서 달라졌다고 생각되는 부분이 있으신가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.현재 시점에서의 iOS 취업 시장 환경이 바뀌었다고 생각되는 부분이 있으실까요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
스토리 보드 옆 코드 창
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 혹시 스토리보드 옆에 코드 창을 같이 볼 수 있는 방법이 무엇인지 알 수 있을까요?! 해당 ui와 해당 viewcontroller에서 연결된 코드가 무엇인지 강사님처럼 바로 옆에서 확인하고 싶은데ㅜ 저는 스토리 보드만 떠서요! 질문드립니다 ㅜㅜ
-
미해결앨런 Swift Concurrency for Swift 6 (Part-1)
Part 2에 대해서
안녕하세요! 좋은 강의 너무 잘 듣고 있습니다.2025년 1월 안으로 part 2 강의 제작을 마무리 하는게 목표라고 하셨던 것 같은데, 예상 일정대로 part 2도 업로드 될까요?actor와 sendable에 대해서 얼른 공부하고 싶어 기다리고 있습니다 ㅎㅎ답변 부탁드립니다!
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
ViewModel과 Model 구분 (30강)
안녕하세요. 강의 정말 잘 듣고 있습니다! 30강에서 회원정보 class 를 SignUpViewModel로 만드셨는데MVVM 아키텍처에서ViewModel은 비즈니스 로직을 처리하는 부분이고 데이터를 다루는 class나 struct의 경우에는 Model 파트가 맡는다고 이해를 하고 있었습니다. struct가 아닌 class의 경우에는 비즈니스 로직으로 봐야 하는건가요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
바인딩하는 이유
ProfileEditingView에서 뷰모델을 ProfileView에서 바인딩 받아서 사용하는데, 왜 바인딩을 받는 것일까요? ProfileEditingView에서 @State var viewModel = ProfileViewModel()로 새로 선언하지 않는 이유가 있을까요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
강의 내용
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.혹시 강의 내용에서 오토레이아웃에 관해서도 자세히 다뤄주시나요?특히 코드로 하는 부분이요!
-
미해결Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
75강 까지 마무리후 소스 오류 사항 문의
75강 마무리 후다른 사용자의 프로필 들어가서 팔로우 하면위에 팔로잉수가 실시간으로 변경되야 하는데안되네요.확인 부탁드립니다.강의 자료용 소스도 동일하게 작동 안합니다.Xcode16 / iOS18.2
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
SwiftUI main actor 관한 경고 계속 뜹니다.
참고로 제공해주신 소스도 동일하게 뜹니다. Objects stored in @StateObject properties must be isolated to the main actor. This warning will become a runtime crash in a future version of SwiftUI.
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
45강의 에서 Kingfisher 사용후 발생하는 swift6 이슈
ProfileEditingView 에서PhotosPicker 안에서KFImage 사용하니 에러가 발생 합니다. Kingfisher v8.1.3 PhotosPicker 밖에서 사용시 에는 문제 없습니다.