반응형

분류 전체보기 420

[Swift] 클로저(Closure)란?

클로저(Closure)란? 클로저는 두 가지로 이루어진 객체다. 하나는 내부 함수이며, 또 다른 하나는 내부 함수가 만들어진 주변 환경이다. 클로저는 외부 함수 내에서 내부 함수를 반환하고, 내부 함수가 외부 함수의 지역 변수나 상수를 참조할 때 만들어진다. 일회용 함수를 작성할 수 있는 구문이다. 익명(Anonymous) 함수라고도 하며 Objective-C 언어의 블록(Block), 자바 언어의 람다(Lambda), 파이썬 언어의 람다(Lambda)와 동일하다고 보면 된다. 일회용 함수란, 한 번만 사용할 구문들의 집합이면서, 그 형식은 함수로 작성되어야 하는 제약조건이 있을 때 만들어 사용할 수 있는 함수이다. 요약하자면, 클로저란 내부 함수와 내부 함수에 영향을 미치는 주변 환경(Context)을..

iOS/개념 2022.04.09

[Swift] 스위프트 변수와 상수

스위프트는 데이터가 저장되는 메모리 내 주소 공간을 개발자가 쉽게 사용할 수 있도록 이름으로 연결한 변수와 상수를 제공한다. 값을 저장한, 혹은 저장할 메모리 주소값을 이름으로 연결해 놓은 것을 변수와 상수라고 한다. 변수와 상수를 이용하여 메모리 주소에 해당하는 공간에 손쉽게 값을 저장하거나 꺼낼 수 있다. 일반적으로 이런 과정을 변수와 상수에 값을 저장한다라고 한다. 변수: 필요에 따라 저장된 값을 몇 번이라도 다른 값으로 변경할 수 있음 - 프로그램의 실행에 따라 변하는 값을 저장 상수: 한 번 저장된 값을 다른 값으로 변경할 수 없음 - 변하지 않을 값을 저장 * 상수를 사용하는 이유? 프로그래밍 소스 관리 목적상 변하지 않는 값은 상수에 저장하는 것이 훨씬 효율적이다. 실수로 값이 변경되는 일을..

iOS/개념 2022.04.02

[Swift] 스위프트 문법 특성

Swift 스위프트 문법 특성 1. 헤더 파일을 작성할 필요가 없다. - 스위프트는 전처리를 위한 헤더 파일이 필요하지 않고, 헤더 파일과 소스 파일이 통합된 하나의 .swift 파일에서 필요한 내용을 정의하고 사용한다. - 스위프트는 클래스나 구조체를 선언할 때 정의(Interface)와 구현(Implementation)을 분리하지 않고 통합해서 작성하는 특성이 있다. 2. 대소문자를 구분한다. - 함수와 메소드, 인스턴스명의 첫 글자는 소문자 - 클래스와 구조체, ㅍ로토콜 등 객체의 첫 글자는 대문자 3. 구문 끝의 세미콜론은 생략 가능하다. - 한 줄에 하나의 구문을 작성할 때 세미 콜론 생략 가능 - 한 줄에 두 개 이상의 구문을 작성할 때는 세미콜론 생략 불가능 4. 엔트리 포인트(시작점)으로 ..

iOS/개념 2022.04.01

[Swift] 함수 타입이란? (Function Types)

함수 타입(Function Types)이란? 변수에 함수를 대입하면 그 변수는 일반적으로 문자열, 정수 등과는 전혀 다른 타입이 되는데 이를 함수 타입(Function Types)이라고 한다. 함수 타입의 형태 함수 타입은 (인자 타입 1, 인자 타입 2,...) -> 반환 타입 형태로 표시한다. 예시1. 매개변수 1개와 반환 타입이 있는 함수 func boo(age: Int) -> String { return "\(age)" } 위 함수를 함수 타입으로 변환 시 (Int) -> String 사용 방법 let b1: (Int) -> String = boo let b2 = boo(age:) b1(3)// return "3" b2(4)// return "4" 예시 2. 매개변수 2개와 반환 타입이 있는 함수..

iOS/개념 2022.03.19

xcode에서 'Unsupported OS Version' 해결

https://velog.io/@adbr/Fix-the-Unsupported-OS-Version-in-Xcode-Xcode%EC%97%90%EC%84%9C-Unsupported-OS-Version-%ED%95%B4%EA%B2%B0 xcode에서 'Unsupported OS Version' 해결 xcode에서 연결된 device가 안 먹힐 때 -> Fixed : Unsupported OS Version in Xcode velog.io xcode에서 'Unsupported OS Version' 해결 디바이스 버전이 높고, xcode가 최신 버전이 아니라 빌드가 안될 때 발생하는 오류 해결 방법

[Android] Foreground, Background 감지 (ActivityLifecycleCallbacks)

안드로이드에서 Foreground, Background를 감지하는 방법 Foreground, Background를 감지하는 방법은 아래 두 가지 경우로 나눌 수 있습니다. 1. Background/Foreground로 변경됐을 때 감지하는 방법 - Background -> Foreground로 변경된 경우 - Foreground -> Background로 변경된 경우 2. 현재 상태가 Background/Foreground인지 체크하는 방법 - 현재 Background 인지 체크하는 경우 - 현재 Foreground 인지 체크하는 경우 Github 샘플 https://github.com/eunsuu1015/AndroidSample/tree/main/ActivityLifecycleCallbacks GitH..

[Swift] 프로퍼티 (Properties) 종류 (저장 or 연산 or 타입)

Swift에서 사용하는 프로퍼티 종류 저장 프로퍼티 연산 프로퍼티 타입 프로퍼티 저장 프로퍼티 인스턴스의 변수 또는 상수 구조체, 클래스에서만 쓰임 프로퍼티 감지사 적용 가능 프로퍼티의 값이 새로 할당될 때마다 호출됨 지연 저장 프로퍼티에 사용할 수 없고, 일반 저장 프로퍼티에만 적용 가능 변경되는 값이 현재의 값과 같더라도 호출됨 값이 변경되기 직전에 호출하는 메서드 willSet메서드 + newValue 변경될 값 값이 변경된 직후에 호출되는 didSet 메서드 + oldValue 변경되기 전의 값 연산 프로퍼티 값을 저장하는 것이 아니라 특정 연산을 실행한 결괏값 클래스, 구조체, 열거형에서 쓰임 set 관용적인 표현으로 newValue 매개변수 이름을 사용. 매개변수는 따로 표기하지 않아야 함 읽..

iOS/개념 2022.03.08

[Swift/Objective-c] 타이머 사용하기, 반복 작업하기 (Timer)

타이머(Timer) 사용하는 방법, 타이머 사용해서 반복 작업하는 방법 타이머는 아래와 같은 상황에 사용합니다. 일정 시간 이후에 처리할 일이 있을 때 일정 시간 간격으로 반복해서 처리할 일이 있을 때 Github Sample Swift https://github.com/eunsuu1015/SwiftSample/tree/master/Timer GitHub - eunsuu1015/SwiftSample Contribute to eunsuu1015/SwiftSample development by creating an account on GitHub. github.com Objective-C https://github.com/eunsuu1015/ObjCSample/tree/main/Timer GitHub - e..

[Swift] CustomView 사용하기 (ReusableView, 재사용 가능한 뷰)

CustomView, ReusableView, 재사용 가능한 뷰 사용하는 방법 공통적으로 쓰이는 View를 1개 만들어서, 여러 화면(ViewController)에서 사용할 수 있는 방법입니다. Github Sample https://github.com/eunsuu1015/SwiftSample/tree/master/ReusableView GitHub - eunsuu1015/SwiftSample Contribute to eunsuu1015/SwiftSample development by creating an account on GitHub. github.com 목차 1. ReusableView 생성 a. ReusableView.swift 생성 b. ReusableView.xib 생성 2. ReusableV..

[iOS] iOS 및 iPadOS 점유율 (OS 사용 현황)

iOS 및 iPadOS 점유율 (OS 사용 현황)은 애플에서 제공됩니다. https://developer.apple.com/kr/support/app-store/ App Store - 지원 - Apple Developer App Store 사용자는 App Store에서 iPhone, iPad, Mac, Apple TV 및 Apple Watch용 앱을 쉽게 찾고 구입하고 다운로드할 수 있습니다. Apple Developer Program에 등록하여 앱을 디자인 및 개발하고 App Store에 앱을 배포 developer.apple.com 2022.01.11에 AppStore에서 처리된 결과를 기준으로는 아래와 같다고 합니다.

iOS/기타 2022.02.25

[Swift / Objective-c] 디바이스 모델명, OS 버전 조회 (Device Model, OS Version, iPhone/iPad/iPod)

Swift와 Objective-c에서 디바이스 모델명, OS 버전을 조회하는 방법 (iPhone, iPad, iPod) iOS에서 디바이스 모델 조회 시, 아래와 같이 조회가 됩니다. (디바이스 모델) iPhone11,8 iPhone12,5 위와 같은 형식을 원하는 경우도 있지만 아래처럼 원하는 경우도 있죠. (디바이스 모델명) iPhone XR iPhone 11 Pro Max 위 두 가지를 조회하는 방법 모두 있습니다. 방법 Swift // 디바이스 OS 버전 조회 func getOsVersion() -> String { return UIDevice.current.systemVersion } // 디바이스 모델 조회 func getModel() -> String { var systemInfo = uts..

[Swift] SwiftUI Stack (VStack, HStack, ZStack)

SwiftUI에서 기본적으로 많이 사용되는 Stack Stack 종류 VStack : V 축으로 나열되는 Stack HStack : H 축으로 나열되는 스택 ZStack : Z 축으로 나열되는 스택 - 순서대로 쌓기 때문에, 마지막 줄에 있는 View가 가장 앞에 출력됨 - 배경 색상 지정 시, 영역을 자유롭게 하고 싶은 경우 사용 샘플 코드 // ContentView.swift import SwiftUI struct ContentView: View { var body: some View { VStack { VStack { Text("V1") Text("V2") Text("V3") .background(.yellow) } .padding() HStack { Text("H1") Text("H2") Text..

iOS/개념 2022.02.23

[iOS] 아이폰에 ipa 파일 설치하기 (2가지 방법)

아이폰에 ipa 파일을 설치하는 방법입니다. 준비물 ipa 파일, MacOS 설치 방법 설치 방법은 2가지가 있으며, 상황에 맞는 간단한 방법으로 선택해서 설치하시면 됩니다. Apple Configurator 2 사용하는 방법 Xcode 사용하는 방법 방법 1. Apple Configurator 2 사용하는 방법 1. Mac App Store에서 Apple Configurator 2를 설치합니다. 2. 실행 후 Mac과 디바이스를 연결(USB 연결선)합니다. 연결하면 아래와 같이 디바이스가 보입니다. 3. ipa 파일을 드래그하여 디바이스 부분에 넣어주세요. 4. 디바이스에 설치된 ipa를 확인하세요. 방법 2. Xcode 사용하는 방법 1. Xcode > Window > Devices and Simul..

iOS/기타 2022.02.16

[Android, iOS] 경제적 자유 계산기 앱 소개

경제적 자유란 무엇일까요? 충분한 자산이 있고 매월 원하는 만큼의 현금흐름이 있어 경제적으로 자유로운 상태를 의미합니다. 경제적 자유를 누리려면 얼마를 모아야 하나요? 꼬박꼬박 매월 100만 원씩 저축하면 20년 뒤엔 부자가 될 수 있을까요? 불가능합니다. 그래서 투자를 해야 합니다. 투자를 통한 경제적 자유 이루기 목표한 경제적 자유 금액을 위해 매월 얼마만큼 투자하면 되는지, 내 나이를 기준으로 몇 살엔 얼마만큼의 자산을 모을 수 있는지를 계산할 수 있는 애플리케이션이 있습니다. Android https://play.google.com/store/apps/details?id=com.taeu.economicfreedom 나 퇴사할래 - 경제적 자유 계산기 - Google Play 앱 나 퇴사할래 - 경..

[iOS] App Store 프로비저닝 프로파일로 ipa Export 후 설치 테스트

App Store Connect 프로비저닝 프로파일로 ipa를 Export 후 설치되는지 여부를 테스트해보겠습니다. 단순히 궁금해서 무식하게 해 보는 테스트 1. App Store Connect 프로비저닝 프로파일로 Export 하여 ipa 생성 1-1. Archive 진행 후 Organizer 창에서 Distribute App 선택한 후 App Store Connect 선택 후 Next 1-2. Export 선택 후 Next AppStore Upload가 아닌 Export 테스트기 때문 1-3. 옵션은 그대로 Next 1-4. Automatically manage signing 선택 후 Next 귀찮으니까 Automatically로 진행 1-5. Export ipa 생성 완료 2. Export 된 ip..

iOS/기타 2022.01.27

[AndroidStudio] An exception occurred applying plugin request 오류 해결 방법

Android Studio 업그레이드 후 새로운 프로젝트를 생성하고 빌드하였더니 아래와 같은 오류로 컴파일 실패가 발생했다. 오류 텍스트 Build file 'C:\AndroidStudio\workspace\test\MyApplicationTest2\app\build.gradle' line: 2 An exception occurred applying plugin request [id: 'com.android.application'] > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can tr..

[iOS] 수출 규정 관련 문서가 누락됨 (TestFlight) 해결 방법

TestFlight 업로드 시 진행 상태에 '수출 규정 관련 문서가 누락됨(Missing Compliance)'이라고 아래와 같이 출력되는 경우가 있습니다. 앱에서 암호화를 사용하는지 여부를 묻는것인데, TestFlight(AppStore)에 업로드 시마다 물어봅니다! 해결 방법 관리를 눌러 수출 규정 준수 정보 입력 선택하면 아래와 같이 나옵니다. (아니요를 선택한 경우) ※ 예, 아니요 중 무엇을 선택해야할지 모르겠다면 아래 링크 참고 https://blog.naver.com/PostView.nhn?blogId=mogulist&logNo=221469645552&parentCategoryNo=&categoryNo=39&viewDate=&isShowPopularPosts=false&from=search ..

iOS/기타 2022.01.19

[Objective-c] 메일 보내기 (Mail - MFMailComposeViewController)

iOS에서 Mail 앱 사용해서 메일 보내는 방법 조건 디바이스 Mail 앱에 로그인이 되어있어야 함 사용 방법 MFMailComposeViewController를 사용합니다. https://developer.apple.com/documentation/messageui/mfmailcomposeviewcontroller #import if([MFMailComposeViewController canSendMail]) { // mail 보내기 가능 MFMailComposeViewController *mailCont = [[MFMailComposeViewController alloc] init]; mailCont.mailComposeDelegate = self; [mailCont setSubject:@"메일 제..

[iOS] 호기심에 해보는 Framework Embed 버전 테스트

단순 호기심에 해보는 Dynamic Framework Embed, 버전 테스트 테스트 중첩 Embed 하여 사용하는 프레임워크의 버전이 다른 경우, 어떤 버전을 사용하는지? 구성 A 프레임워크 : 일반 프레임워크 B 프레임워크 : A 프레임워크를 Embed 하는 프레임워크 C 프로젝트 : A 프레임워크와 B 프레임워크를 Embed 하여 사용하는 iOS 응용 프로그램 (앱) 테스트 상황 1 B 프레임워크 : A 프레임워크 버전 1 Embed C 프로젝트 : A 프레임워크 버전 2 Embed + B 프레임워크 Embed Q. C 프로젝트에서 A 프레임워크 사용 시 어떤 버전의 A 프레임워크를 사용할까? A. C 프로젝트에 있는 버전 2 사용 Q. C 프로젝트에서 B 프레임워크를 통해 A 프레임워크 사용 시 ..

[iOS] 상태바 아이콘 색상 변경 방법 (Status Bar Style)

iOS 상태바 아이콘(텍스트) 색상 변경 (Status Bar Style 변경) Info.plist에서 설정해주면 됩니다. 1. UIViewControllerBasedStatusBarAppearance 설정 false로 설정합니다. UIViewControllerBasedStatusBarAppearance 2. UIStatusBarStyle 설정 원하는 색상으로 설정 UIStatusBarStyle UIStatusBarStyleDarkContent// 상태바 검정색 아이콘 설정 // or UIStatusBarStyleLightContent// 상태바 흰색 아이콘 설정 Info.plist를 Property List로 확인하면 아래 항목입니다.

반응형