본문 바로가기

분류 전체보기

(21)
[아이폰] FCM 푸시를 구현하세요 클라이언트가 앱에 FCM 푸시 기능을 넣어달라고 요구합니다. 다음은 구체적인 요구조건입니다. 1. 푸시는 제목 "title"과 내용 "body" 그리고 이미지로 구성되어 있으며 모두 표시되어야 합니다. 2. 앱이 forground에 있을 때 푸시 팝업이 뜨고 status bar에 표시되어야 합니다. 3. 앱이 background에 있을 때 푸시 팝업이 뜨고 status bar에 표시되어야 합니다. 4. 앱이 종료되었을 때 푸시 팝업이 뜨고 status bar에 표시되어야 합니다. 다음은 forground, background, 종료 기준입니다. 앱을 실행해서 화면이 뜬 상태가 forground 입니다. 여기서 홈버튼을 눌러 나가면 backgroud 상태입니다. 최근사용앱 (recent list)에서 앱을..
[안드로이드] FCM 푸시를 구현하세요 클라이언트가 앱에 FCM 푸시 기능을 넣어달라고 요구합니다. 다음은 구체적인 요구조건입니다. 1. 푸시는 제목 "title"과 내용 "body" 그리고 이미지로 구성되어 있으며 모두 표시되어야 합니다. 2. 앱이 forground에 있을 때 푸시 팝업이 뜨고 status bar에 표시되어야 합니다. 3. 앱이 background에 있을 때 푸시 팝업이 뜨고 status bar에 표시되어야 합니다. 4. 앱이 종료되었을 때 푸시 팝업이 뜨고 status bar에 표시되어야 합니다. 다음은 forground, background, 종료 기준입니다. 앱을 실행해서 화면이 뜬 상태가 forground 입니다. 여기서 홈버튼을 눌러 나가면 backgroud 상태입니다. 최근사용앱 (recent list)에서 앱을..
초간단 노릇노릇 맛있는 붕어빵 만드는 방법 노릇노릇 맛있는 붕어빵을 만드는 초간단 방법을 알려드릴께요. 먼저 반죽을 준비하세요. 저는 핫케잌가루를 사용했어요. 뒷면에 STEP 1 반죽하기에 나온대로 반죽을 준비하세요. 반죽을 주전자에 부었어요. 그러면 틀에 붓기 편해요. 붕어빵 속에는 딸기잼을 넣을꺼에요. 팥을 좋아하시면 팥앙금을 넣으시면 되요. 슈크림도 괜찮구요. 먼저 붕어빵 틀을 적당히 예열하세요. 약불로 줄이고 틀에 기름칠을 하세요. 반죽을 틀에 부어요. 잼을 넣을께요. 반죽을 조금 더 넣으세요. 틀을 닫고 반죽이 꼬리에도 찰 수 있도록 틀을 기울이세요. 틀을 뒤집으세요. 붕어빵 타이머 앱을 실행하세요. 붕어빵 타이머 앱은 구글 플레이나 앱스토어에서 다운받을 수 있습니다. 안드로이드 https://play.google.com/store/ap..
FloatingPanel의 접근성 이슈 처리 이번에 배포한 "보행자용 지도, 내비게이션앱"에 사용한 FloatingPanel 관련 접근성 이슈를 정리합니다. 위 스샷에 보이는 하단 패널로 "FloatingPanel" 라이브러리를 사용했습니다. 처음에는 스샷 1처럼 보이는데 사용자가 패널을 위로 쓸어올리면 스샷 2처럼 패널이 확장됩니다. 그런데 보이스오버가 활성화되어 있는 경우 사용자가 위로 쓸어올려도 이 패널은 확장되지 않습니다. 스샷 3에 보이는 것처럼 사용자가 화면을 쓸면 하단 패널에서 접근성 element의 초점이 이동하다가 화면에 보이지 않는 element로 이동합니다. 여기서 이슈가 있는데 해당 element가 화면에 보이지 않는 경우 클릭 이벤트가 작동하지 않습니다. 손가락으로 화면을 더블 탭을 했을 때 아무 반응이 없습니다. 해결책은 ..
[Swift] Firebase Dynamic Link 구현 방법(20년 12월 16일자) 목차 개발환경 Xcode는 버전 12.2이고 macOS는 Catalina입니다. Firebase Dynamic Link(동적 링크)란? Firebase Dynamic Link는 해당 링크를 클릭시 해당 앱이 설치되어 있는 경우 앱을 실행하고 설치되어 있지 않는 경우 앱스토어로 이동하여 앱 설치하게 도와줍니다. 반면 custom scheme은 앱이 설치되어 있는 경우에만 앱을 실행할 수 있습니다. Firebase 콘솔에서 앱을 추가 App Store ID와 팀 ID를 추가합니다. 이것을 추가해야 Firebase Dynamic Link가 제대로 작동합니다. Firebase console에서 동적 링크 생성 왼쪽 메뉴에서 Dynamic Links로 들어가 URL 프리픽스를 추가합니다. 도메인을 입력합니다. 개..
[React Native } 오류 정리 - "Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined." 전체 오류 내용은 다음과 같습니다. Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports. App.js 파일입니다. 코드는 다음과 같습니다. export class Home extends Component { render() { return ( Hello ); }; } default..
고객사로부터 받은 프로젝트를 진행할 때 Xcode에서 인증서 문제 쉽게 처리하는 방법 고객사에로부터 받은 프로젝트를 진행하면서 Xcode에서 인증서 문제로 개고생을 한 적 있습니다. 그래서 다음번에 수월하게 처리하기 위해 Xcode에서 인증서 문제 쉽게 처리하는 방법을 정리했습니다. 1. 먼저 고객사의 애플 계정에 내 계정을 추가합니다. 1. 고객사의 애플 계정을 알아낸 다음 웹브라우저에서 apple developer console(developer.apple.com)에 접속하여 해당 계정으로 로그인합니다. 고객사에 연락해서 애플 계정의 핸드폰에 뜬 인증 번호 알려달라고 해야 합니다. 2. App Store Connect 사이트(appstoreconnect.apple.com)에서 사용자 및 액세스 탭으로 들어간 다음 파란색 + 버튼을 눌러 내 계정을 추가합니다. 3. 애플에서 보낸 이메일..
아이폰 앱에서 웹페이지가 크롬브라우저로 열리는 이슈 수정 웹페이지를 WebView안에서 열리게 하고 싶으면 기본 브라우저를 크롬브라우저로 변경
테스터로 등록하여 아이폰 앱 테스트하는 방법 1> appstoreconnect.apple.com 사이트에 로그인해서 내부 그룹아래 App Store Connect 사용자 클릭 2> + 버튼 클릭하고 내 이메일 체크 3> 애플에서 초대 메일이 전송됨. 메일에서 코드 확인 4> TestFlight 앱을 열고(없으면 앱스토어에서 설치) 상단 오른쪽 "교환" 클릭한 다음 코드 입력 5> 해당 앱 설치
Xcode에서 인증서 이슈 해결방법 Xcode에서 인증서 오류 해결방법 정리합니다. Xcode의 Signing & Capability 탭에서 "Automatically manage signing" 체크박스에 체크하면 Development Certificate로 지정됩니다. 이 상태로 코드를 수정하고 폰에 실행가능합니다. 그러나 배포를 하기 위해서는 Distribution Certificate를 지정해야 합니다. 그래서 "Automatically manage signing" 체크박스에 체크 해제하고 다음과 같은 방식으로 Provisioning Profile을 생성했습니다. 1. Apple developer console 사이트에서 iOS distribution certificate를 생성 2. 해당 파일을 다운로드한 다음 더블클릭하여 설치 ..