iOS

· iOS
네부캠 미션을 하면서모듈화를 진행했다.  초기 모듈화 설계를 다음과 같이 하였고,  Data 모듈이 Network 모듈에의존성을 갖고 있어각 모듈이 독립적이어야 한다는클린 아키텍쳐 원칙에 잘 맞지 않았다.  따라서 모듈 구조를일부 수정하였다. DIP(의존성 역전 원칙)를 적용하여,Data 모듈에 인터페이스를 정의하고,Network 모듈에서는 해당 인터페이스를 채택한 구현체를 구현했다.  하지만 이와 같이 모듈화 구조를 변경하면서다음과 같은 에러를 마주하게 되었다. Command SwiftVerifyEmittedModuleInterface failed with a nonzero exit code   첫번째 시도Build Libraries for Distribution 옵션을No로 변경해주었다.  이렇게 되..
· iOS/SwiftUI
SwiftUI에서 View를 그릴 때, 코드가 길어지거나 중복되는 View의 요소가 있다면 보통 서브 View로 빼서 그리는 편이다.   오늘은 프로젝트를 진행하면서 알게된 서브 뷰 그리는 방식 3가지에 대해 포스팅 해 볼 예정이다. 방법 1. View 타입 변수private var nanuaView: some View { VStack(alignment: .leading) { SectionHeaderView(.nanua) ScrollView(.horizontal) { LazyHStack { ForEach(0..  상위 뷰의 변수들을 같이 사용할 수 있어서 가장 많이 사용했던 방식이다.   방법 2. View를 반환하는 함수 선..
· iOS
앱 배포를 위해 Archive를 하던 중 ... 쿠궁 .... Fail를 마주하게 되었다 ...... Missing Info.plist value. The Info.plist key 'BGTaskSchedulerPermittedIdentifiers' must contain a list of identifiers used to submit and handle tasks when 'UIBackgroundModes' has a value of 'processing'. For more information, refer to the Infromation Property List Key Reference at https://developer.apple.com/library/ios/documentation/Gener..
· iOS
멋쟁이사자처럼 앱스쿨 iOS 4기 최종 프로젝트로 진행한 ANBD 배포 과정을 담은 글입니다.ANBD AppStore 레츠 고고 !!!!! 1. Apple Developer에 App Identifier 등록Apple Developer 접속 > Identifiers > + 버튼 클릭 App IDs 클릭 > Continue App 클릭 > Continue  추가하려는 App 번들 ID 작성 > 필요한 기능 추가 (ANBD는 푸시 알림을 필요로 해서 Push Notifications를 추가하였다.) > Register  2. App Store Connect에 App 등록Apple Developer > Account > App 접속 > 신규 앱 추가 번들 ID에 1단계에서 추가한 번들 ID 선택하고,SKU에는 ..
· iOS
1. APNs Key 발급받기Apple Developer 접속 > Account > Keys APNs Key를 생성해준다. Key 이름을 설정하고 Apple Push Notification service (APNs) 를 선택한 후Continue를 하면 된다.  생성 완료 !!한번 다운로드하면 다시 동일한 파일을 다운로드 할 수 없기 때문에 잘 저장해서 보관해둬야 한다.  2. Firebase 프로젝트에 APNs 키 등록하기APNs 키를 등록하고 싶은 프로젝트에 들어간다.프로젝트 설정 > 클라우드 메시징 APN 인증 키 업로드 APNs 인증키에 Apple Developer 사이트에서 발급받은 .p8 파일을 업로드 한다.키 ID는 Apple Developer > Keys 해당 키에서 확인 가능하고 팀 ..
· iOS/SwiftUI
@Statehttps://developer.apple.com/documentation/swiftui/state State | Apple Developer DocumentationA property wrapper type that can read and write a value managed by SwiftUI.developer.apple.com- Property Wrapper- @State는 DynamicProperty를 채택하고 있고,    DynamicProperty는 update() 메소드가 있어 자기 값이 바뀌면 해당 메서드가 호출되어 뷰를 갱신할 수 있음   final class ViewModel: ObservableObject { @Published private(set) var number..
· iOS/Swift
데이터 타입프로그램 내에서 다뤄지는 데이터의 종류구조체를 타입의 기반으로 삼아 Swift의 다양한 기능 (extension, Generic) 두루 사용하여 구현  (1) Int와 UInt• Int : +, - 부호를 포함한 정수• UInt : - 부호를 포함하지 않는 0을 포함한 양의 정수 ※ 진수에 따른 정수 표현- 10진수- 2진수 : 접두어 0b 사용- 8진수 : 접두어 0o 사용- 16진수 : 접두어 0x 사용let decimalInteger: Int = 28let binaryInteger: Int = 0b11100let octalInteger: Int = 0o34let hexadecimalInteger: Int = 0x1C  (2) Bool Boolean 타입으로, true / false만 값으..
· iOS/SwiftUI
더 찾아보니 SwiftUI에선 더 간단하게 라이트모드, 다크모드를 지원할 수 있어 내용을 추가한다. Asset Catalog에서 Color Set을 추가한 후에 프로젝트에서 사용할 색상의 이름을 정해준다. 라이트모드에서 사용할 색상을 Any Appearance에, 다크모드에서 지원할 색상을 Dark에 정의해주면 끝 .. 정말 간단하게 라이트모드와 다크모드를 동시에 지원할 수 있다. 사용할때에는 단순히 Asset에 지정해놓은 Color Set 네임을 사용하면 된다. @Environment(\.colorScheme) var colorScheme: ColorScheme 을 통해 단말에 세팅된 모드를 알 수 있다. static func getBackgroundColor(forScheme scheme: Color..
· iOS/Swift
문자열 보간법 변수 또는 상수 등의 값을 문자열 내에 나타내고 싶을 때 사용 let name: String = "yagom" print("My name is \(name)") 변수와 상수 변수 : var 키워드 사용 상수 : let 키워드 사용
· iOS/Swift
스위프트 ARC (Automatic Reference Counting)를 지원하여 메모리 관리를 쉽게 하도록 함 Objective-C의 동적 객체 모델과 매개변수 형식을 도입 소괄호 (), 세미콜론 ; 은 생략 가능하지만, 중괄호 {}는 생략 불가 스위프트의 언어적 특성 (Safe, Fast, Expressive) 안전성 (Safe) 옵셔널, guard 구문, 오류처리, 강력한 타입 통제 등을 통해 안전한 프로그래밍을 지향 신속성 (Fast) 더 나은 표현성 (Expressive) 다중 패러다임 프로그래밍 언어 명령형, 객체지향, 함수형, 프로토콜 지향 프로그래밍 1) 객체지향 프로그래밍 패러다임 프로그램을 유연하고 쉽게 변경할 수 있도록 작성할 수 있어 대규모 소프트웨어 개발에 많이 사용 강한 응집력..
짱죠니
'iOS' 카테고리의 글 목록