일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Realm
- Code
- Archive
- iOS16
- Python
- UIButton
- github
- SwiftUI
- error
- Firebase
- MacOS
- 한글
- darkmode
- Apple
- rxswift
- appstore
- Swift
- Git
- FLUTTER
- Xcode
- String
- 개발자
- view
- 웹뷰
- stack
- Notification
- JPA
- mac
- IOS
- Session
- Today
- Total
목록iOS, Swift (187)
EEYatHo 앱 깎는 이야기
Moya 에서 네트워크 통신에 접근할 수 있는 방법 2가지 Interceptor Plugin Interceptor #git RequestInterceptor의 구현체를 MoyaProvider.Session 에 넣기 let insterceptor = MyInterceptor() let session = Session(interceptor: insterceptor) let provider = MoyaProvider(session: session) adapt 로 모든 request 에 접근 retry 로 validation 에 실패한 response 에 접근 /// Type that provides both `RequestAdapter` and `RequestRetrier` functionality. publ..
Clean Architecture 개요 여느 다른 아키텍처 패턴들 처럼, 앱을 구성하는 여러 구성요소, 모듈들을 ( UI, ViewModel, Entity, Repository, DB 등 ) 바운더리치고 나눈 것. 바운더리의 기준 자주 변경되는 모듈이, 거의 변경되지 않는 모듈을 의존하도록 하자! + 테스트 용이성.. 등등? 변하지 않는 것을 안쪽으로, 자주 변하는 것을 바깥쪽으로 그림 의존성을 바깥쪽에서 안쪽으로 주입 (바깥쪽이 변경되어도, 안쪽이 변경될 필요 없게. ) ex1. ) DataSource가 API를 써서 데이터를 받든, 로컬 DB의 데이터를 가져오든.. 안쪽의 Repository는 변경되지 않도록. ex2. ) 반대로, 제일 안쪽의 Entity가 변경되었다면, DataSource의 Res..
개요 이번 2023 렛어스고 찍먹톤 행사에, 정말 운이 좋게도, 예비에서 붙어서 참가하게 되었다!! 2023 WWDC 에 나오는 신기술들을 주제로, 6월 10일 하루동안(10~20시) 미니 프로젝트를 진행하는 컨퍼런스다. 행사 전날 팀 메이킹 나 포함 네명이 한 팀으로 팀이 만들어졌고, 팀원으로는 민디고님, 김호세님, 라면먹는 제이지님을 뵙게 되었다. 총 10팀 중에 우리가 1팀(첫번째) 이었다. 디스코드 회의 행사 전날에 디스코드로 미리 모여서 얘기해보자 하셔서 놀랐다. ( 해커톤같은 걸 안해봐서인지, 생각지도 못했다.. ) 야근 후 돌아가서 바로 디스코드로 들어갔다. WWDC 볼륨 워낙이 커서, 다들 미처 다 시청하지 못하셨고, 어떤 신기술을 사용해볼지, 그 기술에 관해 어떤 영상들을 보고 올지만 정..
applicationWillTerminate UIKit > UIApplication.h > applicationWillTerminate 을 가지고 앱 종료 직전을 컨트롤할 수 있음. 해당 메소드가 return 되면, 시스템이 앱을 종료한다. 앱 종료 지연 및 async 작업 applicationWillTerminate 메소드에 sync 코드를 넣으면 다 실행하고 종료되지만, NotificationCenter, API 호출 등의 async 작업은, 미처 실행되기 전에 함수가 종료되서, 동작하지 않는 경우가 발생한다. 이를 방지하기 위해서는 return 을 지연(sleep) 시키면 된다. 문서에 따르면 최대 약 5초까지 지연시킬 수 있다. 코드 /// 해당 함수가 반환되면 시스템이 앱을 즉시 종료. /// ..
권한 작업 Info.plist 에 추가 Privacy - Motion Usage Description 걸음수 데이터 측정을 위해 데이터 접근 권한이 필요합니다. 안하면 crash남 코드 CoreMotion.CMPedometer.queryPedometerData 활용 3초마다 오늘 00시 ~ 현재시간까지의 걸음수를 query import CoreMotion final class CoreMotionService { static let shared = CoreMotionService() private var pedoMeter = CMPedometer() private init() { Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #select..
Error Xcode 14.3 으로 업데이트 후, Archive시 아래 에러 발생 에러 이미지 에러 코드 Run custom shell script '[CP] Embed Pods Frameworks' ... rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/ com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9] Command PhaseScriptExecution failed with a nonzero exit code Solution {A..
진행 순서 1. Overview 개요 ( 지각해서 못들음 ) 2. Key metrics 주요 지표 ( 지각해서 못들음 ) 3. Acquisition sources 유입 경로 ( 지각해서 조금만 들음 ) 4. Peer group benchmarks 피어 그룹 벤치마크 5. Taking action 조치 취하기 6. Q & A 3. Acquisition sources 유입 경로 3가지 1. 제품 페이지 2. Store sheet 3. 앱 목록 4. Peer group benchmarks 피어 그룹이란? 앱스토어에서 분류한 비슷한 앱의 그룹 피어 그룹 구별 방법 1. 앱의 비지니스 모델의 유사성 ( 상품 판매 여부, 앱 무료 유료 여부 등 ) 2. 앱의 스토어 내의 카테고리 3. 앱의 다운로드 볼륨 앱스토어 ..
진행 순서 1. 기능 개요 2. App Store Connect 안내 3. 기능 전략 1. (맞춤형 제품 페이지) 기능 개요 제품 페이지에 유입되는 플로우는 3가지가 있다. 1. 탐색에 의해 ( 앱스토어 홈의 이달의 앱 등 ) 2. 검색에 의해 ( 유저가 명확한 목적을 가지고 검색하여 앱을 찾음 ) 3. 추천에 의해 ( 광고나 유저끼리의 공유 등 ) 맞춤형 제품 페이지는 3. 추천에 의해 유입되는 플로우를 최적화 하는 것이다. 추천 사용자층 -> 공유 등 URL 공유 ( 유입 경로 에셋 사용 ) -> 제품 페이지 도착 다양한 제품 페이지 가능 ex ) 라이브 스트리밍을 부각하는 페이지, GPS 추적 기능을 부각하는 페이지 당연하게도 모든 커스텀 제품 페이지의 로컬라이징 지원 Apple Search Ads..