[iOS | UIKit] 중복되는 xib register 코드 Extension 으로 빼주기 (feat. 클린코드)
·
iOS
UIKit 에서 xib 파일을 쓰는 경우…UIkit 에서 xib 파일을 활용해서 ui를 만든다면 반드시 거쳐줘야 하는 작업이 있죠바로 nib 파일 등록인데용class ViewController: UIViewController { @IBOutlet var collectionView: UICollectionView! override func viewDidLoad() { super.viewDidLoad() setNib() } private func setNib() { let nib = UINib(nibName: "CollectionViewCell", bundle: nil) collectionView.register(nib, forCel..
[iOS | Swift] coding key / Init decoding 기본값 / 서버에서 오는 JSON 데이터 관리
·
iOS
Coding Key서버에서 보내주는 키값과 앱에서 사용하는 키값 이름을 다르게 하고 싶을때 사용서버에서는 “Name” 이렇게 보내주고 있고, swift 에서는 보통 변수 명을 카멜케이스로 사용하기 때문에 “name” 으로 받고 싶어 할 것이럴때 사용할 수 있는 것이 Coding key struct Person: Codable { let name: String? let height: Int?}이러한 구조체인데.. let jsonData = """{ "name" : "jung", "height" : 100}""".data(using: .utf8)!jsonData 를 서버에서 받은 JSON 데이터라고 가정해보겠습니다 디코딩을 해보면이렇게 값이 잘 나옵니다 근데 이때 아래와 같이 ..
[iOS | Swift] Widget 에 CoreData 연동시 생겼던 오류 (error : Foundation._GenericObjCError)
·
iOS
SwiftUI 의 Widget에 CoreData 를 연동하여 데이터를 보여주는 위젯을 개발하던 도중프로젝트 세팅에서 오류가 발생했습니다  작업을 완료할 수 없습니다.(Foundation._GenericObjCError or 오류 0.)라는 오류였는데, Widget 에서 CoreData 에 접근하려고 하니 발생했네요.. func getTimeline(in context: Context, completion: @escaping (Timeline) -> ()) { // coreData 로드 CoreDataManager.shared.loadDiary(dateData: Date()) { date, emoji , text , uuid in let entry = Simpl..
[iOS | UIKit] NavigationBar 비활성화 한후 뒤로가기 제스쳐 활성화하기
·
iOS
위 사진은 A -> B 페이지로 이동한 모습입니다A 화면이 Navigation 의  루트 화면입니다 기본적으로 Navigation Bar 가 존재해서 root 화면인 A 화면에는 상단에 빈것처럼 공간이 남게되고, B 화면에는 파란색 뒤로가기 버튼이 들어있는 Bar 가 표기되게 됩니다 정말 못생겼으니 바꿔주도록 합시다.. 바꾸는 방법은1. custom navigation bar 적용 -> 기존 navigation bar 에 버튼을 추가하는 방법2. 아예 navigation bar 를 비활성화 시키기 두종류가 있는데 저는 두번째 방법으로 해보겠습니다 Navigation Bar 비활성화 하기// AViewControlleroverride func viewWillAppear(_ animated: Bool) { ..
[iOS] Apple Store 출시 과정
·
Project
첫 앱을 출시하는 과정을 기록해봅니다! 쉬운 정보들은 그냥 넘어가고 유의해야 할 내용들만 기록했습니다 미리보기 및 스크린샷6.9 디스플레이로 3장 올렸습니다6.5 가 (필수) 라고 되어 있긴 한데 다른 블로그에서 6.9 로 대체해도 된다고 하더군요  지원 URL앱에 대한 설명을 나타내는 사이트를 기록해 줍니다저는 노션을 하나 만들어서 공개 페이지로 올려두었습니다  앱 심사 정보심사할 때 필요한거 같은데, 로그인해야하는 서비스면 심사용 계정 아이디와 비밀번호를 알려달라는 것 같아요제 서비스는 로그인 및 회원가입이 필요하긴 한데 애플 로그인만 필요해서 '로그인 필요' 체크는 안하는 대신메모에 Apple 계정으로만 로그인 할 수 있어서 체크를 안했다는 설명을 덧붙였습니다 이 부분은 통과가 안될 수도 있을 것 ..
[iOS | Swift] TestFlight 초대 메일이 안오는 현상 (Feat: Flutter TestFlight)
·
iOS
Flutter iOS 빌드를 App Store Connect의 TestFlight 내부 테스팅을 통해 앱 테스트를 진행하려고 했는데요! 아니글쎄분명 이렇게 테스터들을 초대했는데 말이죠...근데 도무지 초대메일이 오지 않는 것입니다...  원래는 테스터가 TestFlight 로부터 아래와 같은 메일을 받고 'View in TestFlight' 버튼을 누르면 TestFlight 에 어플이 깔리게 됩니다  초대 재전송도 수십번 해보았으나 메일이 저 테스터 3명 중 아무에게도 가지 않았어요 분명 다른 iOS 앱은 TestFlight 초대 메일이 잘 갔는데 말이죠 ㅠㅠ 그러다 갑자기 아 Flutter 니까 일반적인 iOS 빌드 설정과는 다른가? 라는 생각이 번뜩 들었습니다그래서 구글에 Flutter iOS Tes..
[iOS | Swift] Apple store connect 에 빌드 다시 올리기 / TestFlight 업데이트하기
·
iOS
앱스토어 출시준비를 위해 Apple store connect에 빌드 파일을 올리고 TestFlight 로 유저 테스트를 했다! 유저 테스트 피드백을 토대로 수정한 사항을 Apple store connect에 다시 빌드를 올리고, 또 TestFlight 까지 업데이트해서 새로운 버전을 테스트하려면 어떻게 해야할까?? Apple store connect 에 빌드 파일 다시 올리기먼저 Apple store connect에 빌드 파일을 올리는 법부터 보겠습니다 먼저 이전에 빌드했던 것처럼 Product > Archive 클릭 새롭게 빌드한 Archive 를 선택하고 Distribute App 클릭(Status 에 Uploaded to Apple 은 이미 제가 Distribute 를 해버려서 보입니다 distri..
[iOS | Swift] 커스텀 Navigation Bar 뒤로가기 제스쳐가 안되는 현상 해결
·
iOS
제 프로젝트 로직에 대한 설명 먼저!우선 제 프로젝트는 일기 프로젝트인데메인페이지인 달력에서 각 일정을 누르면 해당 일정에 대한 기록이 화면에 띄워집니다달력의 cell 을 누르면 해당 일정에 대한 cell 을 init 하여 화면에 navigation 으로 화면에 띄워주는 로직을 사용했습니다 또한 일기 페이지의 navigation bar 를 커스텀 하여 사용해주었습니다아래는 navigation bar 커스텀 내용 코드입니다! // back 버튼 var configuration = UIButton.Configuration.plain() // 기본 스타일 configuration.image = UIImage(named: "back") configuration.image..
[Xcode] framework 설치 후 프레임워크가 빨간글씨로 보이는 오류
·
iOS
cocoapod 를 통해 FSCalendar 프레임워크를 install 했습니다그런데 크게 다음과 같은 오류가 발생했습니다오류 프로젝트 네비게이터의 프레임워크들이 빨간글씨로 보이는 오류 해결법1. 먼저 포드파일은 다음과 같이 수정하고, 다시 pod install# Uncomment the next line to define a global platform for your projectplatform :ios, '9.0'target 'TodayDiary' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for TodayDiary pod 'FSCalendar'endpost_insta..
감자18호
JayDevelop