묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
강의 자료를 모아보는 프로그램을 제작해보려고 합니다!
안녕하세요! 다름이 아니라 강의 자료를 모아보는 앱을 하나 만드려고 하는 상황입니다이 앱을 만들기 위해 애구마님 강의도 열심히 들을 예정입니다ㅎㅎ 예를 들어 1강부터~ 12강까지 강의가 있고 각각 pdf나 ppt 등의 강의 자료가 있다고 가정했을 때스위프트UI의 List 기능을 이용해서 리스트로 만들어 자료를 쉽게 찾아볼 수 있도록 만들고 싶습니다다만 지금 막힌 부분이 일단 List의 각각의 제목을 작성해줘야 하는데 제목을 파일명에서 긁어오고 싶습니다그리고 막힌 부분이 하나 더 있는데 파일을 불러오는 코드를 작성하고 싶은데 잘 모르겠습니다 구글링을 해보니까 PDFKIT이라는 라이브러리가 있는 것 같은데 제가 자료를 못 찾은 건지 UIKIT으로 작성된 예제 코드들 뿐이어서 파일 불러오기부터 막힌 상황입니다...! 혹시 괜찮으시다면 번거로우시겠지만 도와주실 수 있으실까요?? 구현하고자 하는 앱의 구조는 대강 아래와 같습니다일단 앱을 설치하면 아이폰이나 아이패드 내부에 해당 앱에서 볼 강의 자료 파일들을 담을 폴더가 자동으로 생성각각의 강의 자료들을 폴더로 옮김폴더에 파일이 들어올 때마다 순서대로 List에 추가(파일 이름에 1강 or 1. 등 순서를 구분할 수 있는 인덱스를 포함할 예정)실제로 뷰에서 보이는 List의 각각의 이름들은 파일 이름을 그대로 긁어오고 싶음 이 정도입니다..! 아 참고로 아주 기본적인 내용 뿐이지만 Text 뷰나 Button, (V, H, Z)Stack 등 아주 아주 기본적인 내용은 이해하고 있는 상황입니다 ㅎㅎ 아직 강의를 초반까지 밖에 듣지 않았지만 굉장히 쉽게 설명해주시려고 노력하는 부분이 저 같은 초심자에게는 굉장히 크게 와닿는 것 같습니다 남은 강의도 열공 해보겠습니다 좋은 하루 보내세요! 감사합니다!
-
해결됨UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
missing constraints 에러
구글링을 하다 못찾겠어서 질문게시판에 남겨요!ㅠㅠsetting app_6 강의에서 20분대쯤에uiview로 선을 만들어서 위치조정을 해주는데이런 missing constraints에러가 나요!우선 저는 강의를 똑같이 따라했어요. 순서도 똑같이요!uiview를 하나 끌고와서 높이1, Email과 vertical spacing 10, tailling이랑 leading 0 으로 맞춰주었어요.그런데 height도 1로 안변하고(여전히 상자가 두껍고...) email이랑 spacing도 제대로 안된거같고...유일하게 적용된게 tailling이랑 leading 0으로 된 것이에요...ㅠㅠ 왜 이런걸까요??
-
해결됨UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
콘솔창 print 내용 안 뜸
Dispatch Queue강의를 듣는도중에앱을 실행시키고 맨 위 버튼을 누르면 숫자가 콘솔창에 출력되어야하는데 출력되지 않습니다ㅠㅠ맨 밑에 all output이라 떠야하는데 저는 눈모양이랑 토글?모양이 나오는 점이 다른 것 같은데 어떻게 바꾸나요...
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
깃허브 문의
안녕하세요. 애구마님 현재 강의는 구매했고 먼저 하던 공부를 끝낸 후 보려고 준비중인데 현재 이 강의를 공부하면서 클론 코딩을 할때 저의 깃허브에 공개용으로 코드나 강의에서 중요한 설명을 코드에 주석처리해서 업로드해도 괜찮을까요? 출처는 Readme로 남기려고 합니다. 깃허브는 이력서 제출시 포트폴리오와 함께 사용하고 있습니다.감사합니다.
-
해결됨Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
NavigationLink 질문
NavigationLink를 통해서 화면 전환을 하게 되면 기본적으로 > Back 버튼이 생성이 됩니다.혹시 이걸 제가 원하는 형태로 커스텀 할 수 있을까요?
-
해결됨Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
서적 추천 부탁드립니다!
안녕하세요! 이제 막 섹션 0을 수강 완료한 수강생입니다 다름이 아니라 강의랑 함께 볼만한 내용의 서적이 있는지 궁금해서 글을 남기게 되었습니다. 제가 개인적으로 강의 내용들을 책에다가 정리하면서 공부하는 타입이라서 혹시 강의해주시는 내용과 비슷한 서적 추천해주실만한 거 있으시면 추천 부탁드리겠습니다. 좋은 강의 만들어주셔서 감사합니다! 남은 강의도 성실하게 수강하겠습니다 ㅎㅎ
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
혹시 재촬영 계획이 있으신가요?
예전에 듣고 공부하는데 많은 도움이 됐습니다. 혹시 최신 버전으로 재 촬영 계획이 있으신가요?
-
미해결해커를 위한 iOS 앱 모의 해킹 전문 과정
아이폰6 ios 12.5.7 버전 문의
아이폰 6인데 ios 12.5.7 버전입니다.해당 버전 수업에 지장없을까요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
@Bindable VS @Environment + @Bindable
안녕하세요. 강의 잘 듣고 있습니다.첫번째 질문.다름이 아니라, 처음에 회원가입 기능을 구현할 때, ViewModel을 @Observable을 통해 관찰 가능한 상태로 두고, ViewModel을 다루는 가장 상위 View인 ContentView에서 @State로 선언하는 것까지는 이해가 됩니다.ContentView의 하위 뷰들 중에서,로그인과 관련한 뷰는Login - EnterEmail - EnterPassword - EnterName - EnterUserName - Complete인데,강사님께서 코드로 작성해주신 간접적으로 접근하는 방법 말고, @Environment(SignupViewModel.self) var signupViewModel var body: some View { @Bindable var signupViewModel = signupViewModel 처음 설명해주신 직접적인 접근 방식을 활용했습니다.@Bindable var signupViewModel: SignupViewModel var body: some View{와 같이, ViewModel에 read-write가 가능하기 위해 @Bindable을 사용한다는 사실은 알고 있습니다.하지만 문제는 아래와 같이 입력한 결과에 대해서 출력도 잘 하는데, @Bindable을 적용하였을 때, 마지막 CompleteView에서 아래의 완료 버튼을 눌렀을 때 MainTabView으로 넘어가지 않은 문제가 생겼습니다.기존Auth.auth().currentUser 을 사용했을 때, swiftUI에서 변화를 감지 못하기 때문에, 알려주신대로 ViewModel 내부에서 var currentUserSession: FirebaseAuth.User? 프로퍼티를 만들어 했는데.. 왜 이러한 문제점이 생기는걸까요?if signupViewModel.currentUserSession != nil{ MainTabView() } else { LoginView() .environment(signupViewModel) }물론, 강사님이 알려주신 방법대로 하면 잘 넘어갑니다 ^^.두 번째 질문간접적인 방법 .environment를 사용했을 때, 오류가 떠서 CANVAS를 끄고 작업을 하셨는데 오류를 없앨수 있는 방법이 있을까요?1) 최상단 InstagramCloneApp에 ViewModel을 적용?2) environment로 설정되는 모든 뷰의 #Preview에 .enivronment() 적용?긴 글 읽어주셔서 감사합니다 😃 답변 기다리겠습니다.
-
미해결Flutter 중급 1편 - 클린 아키텍처
event와 ui_event
안녕하세요. event와 ui_event를 구분하셔서 다르게 구현하셨는데, 제가 이해한 것이 맞는지와 문제가 된 부분에 대한 의견이 궁금해서 문의 남깁니다.event와 ui_event를 구분하신게 state의 변경 유뮤가 맞을까요?state가 변경되어 화면의 재빌드가 필요한 경우 eventstate의 변경없이 화면의 재빌드가 필요한경우 ui_event하나의 뷰(StatelessWidget)에서 event와 ui_event를 나눠서 처리하는 경우 event -> notification -> 화면 재빌드 중에 ui_event의 스트림 리스너가 재등록되는 이슈가 있는데요.이런 경우 어떤식으로 처리를 하시나요?아니면 제가 이해를 잘못한 부분이 있을까요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
17강 firebase로 이미지 업로드하기에서 업로드가 안됩니다~
선생님! 캡쳐사진 공유드립니다!!
-
미해결Swift 언어로 배우는 iOS 벽돌깨기 게임
class 문법 질문입니다
class Test{ var age = 100 var name = "배트맨" func simpleFunction(){ print("안녕하세요 저는 \(name)입니다. 저는 \(age)살임") } init(){ simpleFunction() print("부모 클래스 init") } } class Test1: Test{ override func simpleFunction(){ print("자식 클래스") } } let test1 = Test1() test1.simpleFunction()자식 클래스 부모 클래스 init 자식 클래스 위와 같은 상황입니다 일단 Test1에 init 메서드가 없으니 컴파일러가 자동으로 init(){ super.init() }을 생성하겠죠 그럼 부모 클래스의 init을 호출할 거고 부모 클래스의 init에는 simpleFunction 메서드 호출 구문이 있으니 호출하겠죠 근데 분명 부모 클래스 내에서 호출했는데 왜 재정의된 simpleFunction 메서드의 내용이 호출됐는지 이해가 되질 않습니다 구글링이랑 gpt 이용해서 알아 보니 재정이된 메서드는 부모 클래스에서 호출하더라도 재정의된 내용이 호출된다는데 이 말대로라면super.simpleFunction를 이용해서 메서드를 호출한다고 하더라도 재정의 됐으니 재정의된 내용이 출력되어야 할텐데 super를 이용한 호출은 또 재정의 되기 전 내용이 출력됩니다. 호출 기준이 너무 헷갈리는데 이 부분에 대해서 알려주시면 감사하겠습니다!
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
17강 firebase로 이미지 업로드하기에서 업로드가 안됩니다~
Thread 9: Fatal error: Unexpectedly found nil while unwrapping an Optional value위와같은 오류가 뜨면서,,, 업로드가 안됩니다..
-
미해결Flutter 초입문 왕초보편
에뮬레이터 실행 안됨 오류
Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...Running Gradle task 'assembleDebug'...FAILURE: Build failed with an exception.* What went wrong:A problem was found with the configuration of task ':app:processDebugResources' (type 'LinkApplicationAndroidResourcesTask'). - In plugin 'com.android.internal.version-check' type 'com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask' property 'androidJarInput.androidJar' specifies file 'C:\Users\82104\AppData\Local\Android\Sdk\platforms\android-34\android.jar' which doesn't exist. Reason: An input file was expected to be present but it doesn't exist. Possible solutions: 1. Make sure the file exists before the task is called. 2. Make sure that the task which produces the file is declared as an input. Please refer to https://docs.gradle.org/7.6.3/userguide/validation_problems.html#input_file_does_not_exist for more details about this problem.* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 1m 38sError: Gradle task assembleDebug failed with exit code 1이런 오류가 떠요 에뮬레이터 실행하면 버튼 누르는 앱이 실행되어야 한다고 하는데 이렇게 뜨고 안돼요 어떻게 해야 하나요
-
해결됨Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
질문합니다. 섹션 4 - 10 [투두 삭제기능 구현하기(onDelete)]
완전 초보이다보니 궁금증이 생겨서요.투두 타이틀 반복문 쓸땐 List { } 안에서 todoList 의 타이틀들을 반복할땐 Foreach 쓰시고, .onDelete에선 for _ in을 쓰셨는데 서로 적용할 조건이 다른건가요???
-
해결됨Flutter 중급 1편 - 클린 아키텍처
코드 색깔 관련 질문
코드가 되게 알록달록하고 보기 편합니다. 근데 제 코드는 알록달록하지 않고 그냥 하얀색에 간간히 파란색 주황색 핑크색만 박혀있네요 어떤 플러그인을 사용하시는 건가요? 그리고 이건 인터넷에 찾아보니까 버전 차이인 듯 싶긴 한데 코드 왼쪽에 사진처럼 어떻게 하나요? 저는 그냥 일자라서 ㅠ
-
해결됨해커를 위한 iOS 앱 모의 해킹 전문 과정
Fairplay DRM 복호화
현재 윈도우랑 리눅스 둘 다 진행해 보았는데 윈도우는 iTunesDriver64_0205.exe파일이 설치가 완료되지 않고 중지되서 실습을 진행할 수 없고 리눅스에서는 Failed to enumerate applications: no USB CDC-NCM interface found 오류가 발생하는데 해결 방법 있을까요?
-
미해결앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해
수업자료 markup 에 대해 궁금합니다!
좀 샛길로 샌거 같지만... 이런 질문에도 답변해주신다면 너무 감사합니다ㅠㅠ//: 로 마크업 다시는거 혹시 수정은 어떻게 하는지 알 수 있을까요..? 수업자료로 코드 주신걸 보다가 궁금해졌는데요. 한줄로 마크업 다는거는 //: 이렇게 하니까 달아지던데, 저는 xcode에서 바로 적용이 되더라고요. https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_markup_formatting_ref/AddingMarkup.html#//apple_ref/doc/uid/TP40016497-CH100-SW1이 문서 보니까 markup in source editor 랑 rendered documentation mode 에서 다르게 보여지는거 같은데...이건또 어떻게 설정하는지도 모르겠고요ㅠㅠㅠ
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
mapper 생성 시...
mapper를 만들려는 entity와 model의 맴버변수가 또다른 클래스로 되어있는 경우 class RobotEntity { Weapon weapon; string number;}class Weapon { String name; double power; Weapon(this.name, this.power)}class RobotModel { Weapon weapon; string number;}entity와 model의 맴버변수가 클래스로 되어있고 또 그 맴버 변수의 맴버 변수가 클래스로 되어있는 경우... 매퍼를 만들려니 너무 손이 많이 가서요. 다른 방법이 있을까요?extension ToRobotModel on RobotEntity { RobotModel toRobotModel() { return RobotModel( weapon: Weapon(name, power) number: number, ); } } extension ToARobotEntity on AppInfoModel { RobotEntity toRobotEntity() { return RobotEntity( weapon: Weapon(name,power) number: number, ); } }
-
미해결해커를 위한 iOS 앱 모의 해킹 전문 과정
Appsync 설치 오류
Appsync 소스코드로 URL 접속하여 설치하려고 하는데 아래와 같이 에러가 나타나며 설치가 되지 않습니다. 강의에서 언급한 것과 같이 내일이나 모레까지 기다려봐야될까요??인증오류요청한 시간이 초과되었습니다.