반응형

분류 전체보기 416

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로 확인하면 아래 항목입니다.

[iOS] Safe Area Top, Bottom 높이 조회 (status bar height)

Safe Area Top과 Bottom 높이 조회하는 방법 Safe Area Top 높이는 Status bar 높이와 동일합니다. Objective-c if (@available(iOS 11.0, *)) { UIWindow *window = UIApplication.sharedApplication.windows.firstObject; CGFloat top = window.safeAreaInsets.top; CGFloat bottom = window.safeAreaInsets.bottom; NSLog(@"top : %f", top); NSLog(@"bottom : %f", bottom); } Swift if #available(iOS 13.0, *) { let window = UIApplication.sh..

[Android] Database 파일명 변경하기 (rename db filename)

Database filename 변경하는 방법 renameTo() 사용하여 변경합니다. File dbFile = getDatabasePath("dbfilename"); boolean result = dbFile.renameTo(new File(getDatabasePath("dbfilename").getParent(), "newdbfilename.db")); Log.d("TAG", "" + result); getDatabasePath() 메서드를 찾을 수 없다면 Context에서 조회해보세요. public static void changeDbFileName(Context context) { File dbFile = context.getDatabasePath("dbfilename"); boolean resu..

[iOS] 인증 토큰 방식 푸시 알림(APNs) 및 키 생성 방법 (p8 파일)

인증 토큰 방식 푸시 알림(APNs) 및 키 생성 방법 iOS에서 푸시 알림을 사용할 수 있는 방법은 2가지가 있습니다. 인증 토큰 사용 방법 인증서 사용 방법 차이점은 아래와 같습니다. - 인증 토큰 방법 인증서 방법 유효기간 없음 1년 환경 개발 및 프로덕션 개발 or 개발 및 프로덕션 (2가지) 사용 앱 모든 앱에서 사용 앱마다 개별 생성 Apple에서 권장하는 방법은 인증 토큰을 사용하는 방법입니다. 인증 토큰 방식은 유효기간이 없으며, 하나의 키만 생성하면 모든 앱에서 사용할 수 있기 때문에 더 간편합니다. 참고사항 키는 생성 후 한 번만 다운로드할 수 있으며, 이후에 다시 다운로드할 수 없습니다. 때문에 키를 다운로드한 후 안전한 곳에 백업해두어야 합니다. 계정 당 APNS 키는 최대 2개만 ..

[Android] 앱 다크 모드 비활성화 방법 (Dark Mode)

안드로이드 앱에서 다크 모드를 비활성화하는 방법 최신 안드로이드 스튜디오에서 프로젝트를 생성하면 다크 모드가 자동으로 지원됩니다. 다크 모드를 지원하지 않으려면 themes.xml 파일을 수정하면 됩니다. themes.xml 파일 위치 AndroidStudio에서 확인 위치 : res\values\themes 파일 탐색기에서 확인 위치 : res\values 또는 res\values-night 수정 방법 themes.xml (night) 파일의 style를 바꿔줍니다. 수정 전 수정 후 수정 후 앱을 빌드해보면 디바이스 다크모드와 상관 없이 Light 모드로 앱이 실행됩니다.

반응형