[iOS] 다국어 처리 이슈, validation failed: Couldn't parse property list because the input data was in an invalid format
·
iOS/버그 및 이슈
문제 프로젝트의 Localizable 처리를 하다보니 해당 오류가 발생했는데 알고보니 Localizable.strings 파일에는 세미콜론(;)을 붙여줘야 한다고 합니다 Swift를 접하고나서 세미콜론을 붙일일이 많지 않았었는데 문제 해결 코드 뒤에 세미콜론(;)을 붙이니 에러가 사라진 모습 ref Swift) Localizing - 다국어 처리하기안녕하세요 :-) 소들입니다 오늘은 Swift에서는 다국어를 어떻게 처리하는지에 대해 공부할 거예여! 다국어 처리가 무엇이냐 하면 우리가 화면에 다음과 같은 Label을 하나 만들고 text를 지정했어babbab2.tistory.com
[Swift] Realm 기본 개념 및 간단 예제
·
iOS/Swift
안녕하세요 🙇🏻‍♂️저번 포스팅 Core Data에 이어서 이번 포스팅에서는 Realm에 대해 다뤄보겠읍니다! [iOS] Core Data 기본 개념 및 간단 예제안녕하세요 🙇🏻‍♂️이번 포스팅에서는 Core Data에 대해 다뤄보겠읍니다! 포스팅은 편의상 편의 말투로 진행함다 😎  본문으로 들어가기 전에iOS, 면접 단골 질문인 해당 질문을 본적이 있ukseung2.tistory.com 포스팅은 편의상 편의 말투로 진행함다 😎 Realm이란?Realm은 모바일과 웹 애플리케이션을 위한 경량의 NoSQL 데이터베이스입니다. 주요 특징은 다음과 같습니다:편리한 데이터 모델링: Realm은 객체 지향적 데이터 모델을 사용합니다. 이를 통해 복잡한 데이터 구조를 간단히 정의하고 조작할 수 있습니다...
[iOS] Core Data 기본 개념 및 간단 예제
·
iOS/Swift
안녕하세요 🙇🏻‍♂️이번 포스팅에서는 Core Data에 대해 다뤄보겠읍니다! 포스팅은 편의상 편의 말투로 진행함다 😎  본문으로 들어가기 전에iOS, 면접 단골 질문인 해당 질문을 본적이 있을 것 임앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체를 무엇이라고 하는가? [iOS] 면접 답변 정리이런식의 단순암기는 지양하지만 급한분들을 위해 가급적 가볍게 작성되었습니다. 제 경험을 바탕해서 작성하였으니 무수한 태클, 피드백, 훈수 부탁드립니다.작성되지 않은 질문은 작성중입ukseung2.tistory.com 해당 답변에 나는 "데이터베이스, 그 중 UserDefaults를 사용해 보았다." 라고 답변하였는데사실 UserDefaults 말고도 iOS에서 사용할 수 있는 데이터베이스가 많은데.뭐가..
[iOS] Firebase Crashlytics 설정
·
iOS/Library
안녕하세요 🙇🏻‍♂️아무리 잘 짜여진 코드, 잘 짜여진 프로젝트라도 앱 크래쉬 혹은 오류를 피해갈 수 없는데요, 만약 완벽하게 피해갈 수 있다면 유지보수 회사들은 죽어날거에요..Crash나 로직상 오류가 발생하는 경우 대응을 잘 해서 배포를 나간다던가 하면 되는데!서버는 오류 로그를 통해 확인 할 수 있지만, 앱은 외부 라이브러리의 힘을 빌리곤 합니다.이 라이브러리는 앱이 Crash가 발생했을때 file, function, line, 이벤트 유형, 버전 까지 확인이 가능합니다!라이브러리 적용을 안할 이유가 없겠죠?!포스팅은 편의상 편의 말투로 진행함다 😎 1. Firebase ConsoleFirebase Console에서 GoogleService-Info.plist을 다운받아 프로젝트 루트에 추가2..
[Swift] Tuist CLI, 나도 한번 써보자
·
iOS/Swift
안녕하세요 🙇🏻‍♂️프로젝트를 진행하다보면 git merge를 하는 과정에서 .pbxproj파일 conflict로 고생하는 경우가 종종있는데그것을 해결하고자 Tuist를 적용해보자해서 쓰는 포스팅임다포스팅은 편의상 편의 말투로 진행함다 😎 Tuist란?Tuist는 iOS 및 macOS 애플리케이션의 프로젝트와 작업 공간을 효율적으로 관리하고 생성할 수 있게 도와주는 오픈 소스 도구입니다. Tuist는 Xcode 프로젝트의 구성과 설정을 코드로 정의하고 관리할 수 있게 해줍니다. 이를 통해 복잡한 프로젝트 설정을 자동화하고 일관성을 유지할 수 있습니다.Tuist는 초기 설정이 복잡하고 시간이 많이 들어가지만 세팅 이후에는 모듈 생성과 모듈간의 의존성 정의가 매우 간편해집니다 이게 무슨말이냐 라고 생각..
[iOS][SwiftUI] TCA란? TCA를 활용한 간단 예제
·
iOS/SwiftUI
안녕하세요 🙇🏻‍♂️SwiftUI를 공부하다보니 SwiftUI의 디자인 패턴에는 무엇이 있을까 하다가TCA를 발견해 포스팅 해보려고 합니다.포스팅은 편의상 편의 말투로 진행함다 😎   개요프로젝트를 진행하려고 프로젝트 설계를 하고 있었는데 문뜩 드는 생각이 UIKit은  RxSwift+MVVM을 채택하여 프로젝트를 구현 했었는데, SwfitUI도 MVVM패턴을 적용하면 되는건지 궁금했음.. 🧐근데 다행히도 나와 같이 생각하는 사람들이 꽤나 많았음 ㅋ MVVM이 불필요하다는 여러 개발자들의 의견이 있다!애플 디벨로퍼 포럼을 포함한 다양한 포럼에서 개발자들은 SwiftUI에서 MVVM을 사용하는 것이 불필요하다고 주장하고 있음.!(ref. https://developer.apple.com/forums..
[Swift] Framework,SDK 생성 및 import 하는 방법
·
iOS/Swift
안녕하세요 🙇🏻‍♂️오랜만이에오 ㅎㅎ 포스팅이 소홀했네요,, 다시 열심히 포스팅하기 도전 💪🏻 이번에 Objective-C로 만들어진 Project가 있는데해당 Project를 Swift로 migration할 예정이라 기록 해봅니다!포스팅은 편의상 편의 말투로 진행함다 😎 1. Xcode 열기 -> Create New Project... 2. Framework & Library, Framework 선택후 Next 3. Product Name 기입후 Next Include Tests와 Include Documentation은 필요하신 분만 체크 바람!UnitTest와 프로젝트에 대한 Documentation을 포함할건지 물어보는 것(나중에 추가/삭제 가능)저는 UnitTest를 진행할 예정이기 때..
[Swift] Storyboard없이 CodeBaseUI 코드 구현
·
iOS/Swift
안녕하세요 욱승입니다!오늘은 스토리보드 없이 CodebaseUI를 구현 해볼까 합니다!포스팅은 편의상 반말루 Swift의 UI는 두개로 나뉘는데 UIKit과 SwiftUI로 나뉘어요Storyboard는 UIKit으로 분류되는데요새는 Storyboard로 UI를 그리기도 하지만 CodeBase로만 UI를 그리는 경우도 있답니다.   CodeBaseUI 구현의 장단점장점1. 협업 및 유지보수가 용이2. 앱이 실행될때 Storyboard에 비해 무겁지 않음3. 앱이 커지면 커질수록 장점을 가지는 구현 방법(1번의 이유) 단점1. 러닝커브가 발생2. Storyboard와는 다르게 한눈에 볼수는 없다  그래서 어떻게 하냐..!? 1. 스토리보드 파일 삭제 2. 프로젝트 Build Setting > Info.pli..
[Swift] 앱 빌드 오류, failed: Operation not permitted (1)
·
iOS/Swift
안녕하세요 욱승입니다!오늘은 오류 포스팅을 해볼까합니다!포스팅은 편의상 반말루  오류 메시지 해결 방안보아하니 Pod(라이브러리)쪽 오류인듯 보이더라.. 찾아보니 Xcode15에서 최근 들어 많이 보이는 오류로 Build Setting에 대한 오류임! 내가 해봤던 해결책은 개발자들이라면 다 해보았던  1. DerivedData 삭제2. 재부팅3. Podfile Update(업데이트) 혹은 deintegrate후 install(재설치)4. 해당 파일쪽 chmod 권한 수정 위에 4가지 방법은 해결책이 아니였고 찾아보기론 Xcode15부터 해당 옵션 Default값이 NO에서 YES로 변경 되었다고 들었음! 해당 옵션이 Yes로 되어있을탠데 No로 변경하면 해결됨!  XCode내에서 스크립트를 사용하지 않는..
[iOS] 아이폰 검색(Spotlight), 앱과 다른이름이 검색되게 하기
·
iOS
안녕하세요 욱승임다 제목대로 이번 포스팅에서는 앱과 다른이름이 검색되게 하는 방법을 알아보겠읍니다 포스팅은 편의상 반말로! 🙇🏻‍♂️ 이게 무슨말이냐 하시는 분들도 계실탠데 App Display Name은 'TMAP'이지만 '티'를 검색해도 검색 결과에 나오는 걸 볼수있음 + 물론 TMAP으로 검색해도 앱 검색이 가능! 프로젝트의 info.plist에 Accessbility Bundle Name을 추가하면 검색이 가능하다! (아마 'TMAP'도 '티맵'으로 설정 해놓았을 것) 설정후 빌드하니! 결론 이게 생각보다 구글링해도 안나오길래 애플에도 문의 해봤지만 다른 방안을 제시했지 이 방안을 제시하진 않았음! 나중에 쓰일법하니까 알아두자 ㅋ Ref. [iOS] 아이폰 검색(spotlight)에 앱 이름과 다..
[Swift] RxSwift + MVVM, FaceID & TouchID authentication
·
iOS/Swift
안녕하세염 욱승입니당 이번 포스팅에서는 앱에서 필수로 쓰이는 FaceID 및 TouchID 인증을 알아보겠읍니다 포스팅은 편의상 반말루 ㅋ import import LocalAuthentication 해당 라이브러리는 Apple 내장 라이브러리라 Cocoapods이나 Packages에 추가할 필요 음슴 info.plist FaceID를 사용하는 기기면 Privacy - Face ID Usage Description를 추가해조야댐 구현(View) // // LocalAuthenticationViewController.swift // SwiftPractice // // Created by ukseung.dev on 2023/10/05. // import Foundation import UIKit import..
[Swift] Get DeviceModel Name, 디바이스 모델명 가져오기
·
iOS/Swift
안녕항셍용 욱승임다 시뮬레이터에 이어서 디바이스 모델명 가져오는 코드를 작성해보겠슴당 시뮬레이터, 실제 기기에서도 작동 되는 코드임! 2023년 9월 기준 아이폰 15 시리즈가 나왔습니다. width와 height값은 공식 홈페이지에 있으니 case로 추가해 디바이스 모델명을 가져올수 있습니다 함수 func getDeviceModelName() -> String { let screenWidth = UIScreen.main.bounds.size.width let screenHeight = UIScreen.main.bounds.size.height switch (screenWidth, screenHeight) { case (320, 480): return "iPhone 3GS" case (320, 480):..
욱승
'iOS' 카테고리의 글 목록