반응형

전체 글 36

[Flutter] 아이폰 기기 실행시 하얀 화면만 출력되는 문제, Local Network Privacy Permissions

Android Studio로 Flutter 개발 도중 아이폰으로 실행 시 하얀 화면만 출력되었다. 우선 Flutter로 개발 시 기기 실행은 Release 모드만 가능하다고 메세지가 출력되고 네트워크 관련 오류 메세지가 출력된다. 이를 해결 하기 위한 방법으로 flutter 문서의 아래 링크를 참고했다. https://docs.flutter.dev/development/add-to-app/ios/project-setup#local-network-privacy-permissions Integrate a Flutter module into your iOS project Learn how to integrate a Flutter module into your existing iOS project. docs.f..

Flutter 2023.03.26

[Flutter] 프로젝트 생성 이후 app build.gradle 에러

프로젝트 생성 이후 실행에는 문제없지만 아래 에러들이 생겼다. Cannot resolve symbol 'Properties'Cannot resolve symbol 'GradeException' 먼저 File > Project Structure 로 들어간 후 좌측 메뉴에서 Modules에 프로젝트명_android가 빨간줄로 표시되어 있는 것을 확인 할 수 있다. 해당 부분에서 Dependencies 항목에 들어간 후 Module SDK 가 No SDK로 되어있는 부분을 올바른 SDK를 선택해주면 해결 가능하다. 이 이후에 Cannot resolve symbol 'Properties' 의 에러는 사라졌지만 Cannot resolve symbol 'GradeException' 에러는 여전히 존재한다. Grad..

Flutter 2022.12.26

SwiftUI - ConfirmationDialog 알아보기, ActionSheet Deprecated

ActionSheet 를 사용하는데 deprecated 되었다고 confirmationDialog를 사용하라고 합니다. 바로 알아봅시다. ConfirmationDialog 가장 기본적인 confirmationDialog 입니다. 첫번째 인자로 titleKey가 들어가고 isPresented 에 바인딩값을 연결해준 뒤 action 클로저 안에 우리가 평소에 쓰는 Button을 쭉 나열하면 됩니다. struct ContentView: View { @State var isPresented = false var body: some View { Button(action: { isPresented = true }) { Text("사진 불러오기") .padding() } .confirmationDialog( "제목"..

ios/swiftUI 2022.07.26

SwiftUI - Preview를 유용하게 사용하는법, previewLayout, 가로모드 Preview

SwiftUI의 Preview는 따로 앱을 빌드하여 시뮬레이터를 실행하지 않고도 코드를 입력하면 바로바로 눈에 보이도록 해주는데요. 이로 인해 더욱 더 생산성 높은 작업을 할 수 있도록 도와줍니다. SwiftUI에서 하나의 ViewController 같은 화면이 아닌 하나의 Component View를 만드는 경우가 많습니다. 하지만 이럴 때도 Preview는 선택한 기기의 화면으로 보입니다. 이런 경우나 여러가지의 형태(가로모드, 세로모드) 등등 을 한눈으로 확인 할 수 있도록 해주는 Preview의 기능에 대해 알아봅시다. 1. PreviewLayout struct ContentView_Previews: PreviewProvider { static var previews: some View { Con..

ios/swiftUI 2022.07.02

SwiftUI - Color 16진수로 표기된 색상 사용하기, hex 색상 사용하기

일반적으로 Assets에 고정된 색상을 등록하고 사용하지만 가끔은 서버에서 받은 hex값을 사용하여 색상을 표현해야 하는 경우가 있다. 역시 일반적인 방법으로 Color를 Extension 하여 새로운 이니셜라이저를 추가해준다. extension Color { init(hex: String) { let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted) var int: UInt64 = 0 Scanner(string: hex).scanHexInt64(&int) let a, r, g, b: UInt64 switch hex.count { case 3: // RGB (12-bit) (a, r, g, b) = (255, (int >> 8) ..

ios/swiftUI 2022.07.02

SwiftUI - 탭하여 키보드 숨기기

iOS 의 키보드를 보면 기본적으로 키보드를 내리는 키가 있지만 많은 이용자들이 화면을 탭했을 때 키보드가 내려가는 동작이 익숙하다. 아주 간단하게 SwiftUI에서 구현하는 방법이 있다. 1. Extension 선언 extension UIApplication { func addTapGestureRecognizer() { guard let window = windows.first else { return } let tapGesture = UITapGestureRecognizer(target: window, action: #selector(UIView.endEditing)) tapGesture.requiresExclusiveTouchType = false tapGesture.cancelsTouchesInV..

ios/swiftUI 2022.07.01

Swift - 앱 버전, 앱 빌드번호, 앱 이름, 앱 번들 Id 얻는 방법

extension Bundle { var appName: String { return infoDictionary?["CFBundleName"] as! String } var bundleId: String { return bundleIdentifier! } var versionNumber: String { return infoDictionary?["CFBundleShortVersionString"] as! String } var buildNumber: String { return infoDictionary?["CFBundleVersion"] as! String } } 사용할 때에는 아래와 같이 사용합니다. let str = "\(Bundle.main.appName) v \(Bundle.main.versio..

ios 2022.06.22

Terminal에서 바로 Xcode 프로젝트 파일 실행하기

보통 Git이나 Cocoapods 등 terminal을 켜서 특정 작업을 진행한 뒤 다시 Xcode를 실행하기 위해 Finder를 다시 열거나 Xcode를 실행한다. 만약 Cocoapods을 사용하는 프로젝트인 경우 .xcworkspace 파일을 실행해야 하고 그렇지 않은 경우 .xcodeproj 을 실행하게 된다. open MyProjectName.xcodeproj open MyProjectName.xcworkspace 위 명령어를 입력해 Cocoapods의 사용 유무에 따라 직접 입력해 줄 수도 있다. 하지만 xed 명령어를 사용하면 더욱 더 생각할 필요 없이 바로 실행이 가능하다. Xed 사용 xed . 해당 명령어를 입력하면 만약 xcworkspace 파일이 존재할 경우에는 해당 파일을 우선적으로..

ios/Xcode 2022.05.11

SwiftUI에서 UIKit의 Alert 사용하기

1. 왜 SwiftUI의 Alert이 아닌 UIKit의 Alert을 사용하는가? SwiftUI의 Alert 먼저 SwiftUI에서 제공되는 Alert을 사용하기 위한 필요한 요소에 대해 알아보자. 1. alert이 열려있는지 닫혀있는지에 대한 정보를 담은 Bool 타입의 State 변수를 선언한다. 2. View에 alert을 체이닝 형식으로 선언한 후 아까 선언한 State 변수를 연결한다. 3. View의 alert 클로저에 Action처리를 포함한 Alert(View)을 추가한다. struct AView: View { // 1 @State var isShowingAlert = false var body: some View { VStack { Button(action: { isShowingAlert ..

ios/swiftUI 2022.05.10

2022년 빗썸 테크 캠프 iOS 코스 with 야곰 아카데미 후기

시작하기 전 이제야 개발 경력이 1년이 다되어 가는 주니어 중 주니어 iOS 개발자이다. 개발 블로그를 시작한 이유도 매일매일 공부하는 흔적을 남기고 공백기가 생긴다면 그때의 나에게 조금이라도 후회를 남기기 위해 시작하였다. 하지만 생각보다 기술적인 문제보다 무언가를 글로써 정리하는 게 너무 어려웠다. 매일 조금씩 조금씩 여러 가지 방향으로 개발 공부를 어떻게 하면 효율적으로 꾸준하게 할 수 있을지 고민이었다. 또한 SwiftUI로만 개발을 해왔고 UIKit를 사용해본적이 거의 없으며 UIKit로 구현되어있는 라이브러리를 사용할 때나 꼭 필요한 경우에만 해당 기능을 그때그때 확인하고 사용해본 게 전부였다. 하지만 iOS 기본적인 lifecycle이나 기초 배경지식의 필요성을 심각하게 느끼고 있어 UIKi..

일상 2022.03.19
반응형