Crashlytics를 적용한 이후 앱 버전을 업데이트하면 아래의 이미지와 같이 dSYM 파일이 누락되었다는 이메일이 자꾸 옵니다.먼저, dSYM 파일이 뭔지 간단히 알아보겠습니다.dSYM은 debug sumbol file의 약자이고 해당 앱의 디버그 기호 및 정보를 저장하고 있습니다.그럼 dSYM 파일을 업로드 방법을 공유해드리겠습니다.1. XCode - Window - Organizer 실행2. dYSM 파일이 누락된 버전의 위치 열기 3. 패키지 내용 보기4. dSYMs 폴더 압축5. Firebase - Crashlytics - dSYM 탭으로 이동 후 dSYM 압축 파일 업로드 그럼 아래와 같은 화면이 나오고 약 10분 이후에 적용이 됩니다.그럼 즐코딩 하세요~
최근 구글 정책이 업데이트 되면서 8월 31일까지 대상 API 수준을 업데이트하라는 메시지가 떴습니다."세부정보 보기" 버튼을 눌러 확인해보면 아래와 같이 친절하게 위반항목이 무엇인지 알려줍니다. 이번의 경우는 Android 13(API 33)을 타겟팅하지 않아 생긴 문제이네요. [해결방법] 그럼 바로 해결해봅시다.아래의 app/build.gradle 파일을 열어 compileSdk와 targetSdkVersion을 34로 바꿔주면 끝납니다. android { namespace "com.octoverse.ocpamine" compileSdk 34 // 저는 build.gradle 파일을 위의 내용처럼 사용하지 않고 local.properties 파일을 이용해서 한눈에 보기 좋게 수정해서 사용하..
앱을 개발하다 보면 숫자를 다양하게 표시해야 하는 경우가 있습니다.숫자를 표시하는 경우 숫자가 변경되면서 위치가 움직이거나 깜빡이는 느낌을 받을때가 있습니다. 아래 동영상과 같이 "11"과 "99"의 width 값이 서로 달라 보기 좋지 않은 경우도 있죠.이 문제를 해결하는 방법을 알려드리겠습니다.우선 간단하게 설명드리면 아래 코드와 같이 fontFeatures에 tabularFigures를 설정하는 것입니다.Text( '1. $formattedTime (tabularFigures)', style: const TextStyle( fontSize: 30, fontFamily: 'NotoSans', fontFeatures: [FontFeature.tabularFigure..
최근 짬짬히 시간을 내서 만들게 된 스토인 프로젝트에서 PlayStore에 앱 계정 삭제 요구사항에 맞지 않다는 오류와 함께 심사가 거절되는 사건이 있었습니다. 구글 고객센터의 안내 링크는 다음과 같고, 요약하면 아래와 같습니다. 1. Apple의 앱 내 계정 삭제 정책 발표 (22년 1월) 2. Google에서도 Apple을 따라 계정 삭제 정책 발표 (23년 4월) 3. 데이터 삭제 관련 질문 작성 기한 (23년 12월 7일) 4. 정책 규정을 준수하지 않는 경우 시정조치 될 예정 (24년 6월 이후) 계정 삭제 정책의 주요 내용은 다음과 같습니다. 1. 앱 콘텐츠 페이지의 데이터 보안 양식에 "데이터 삭제" 항목 설문 진행해야 한다. 2. 앱에서 계정 생성이 가능한 경우 앱 내에서 계정 및 데이터를..
이번에 소개팅 앱을 개발하면서 인앱결제 기능과 휴대폰 인증과 무료 핸드폰 인증 서비스인 옥토모를 이용하게 되었습니다. (옥토모 서비스는 글의 마지막에 작성해 두었으니 관심 있으신 분들은 참고하시길 바래요) 유저의 핸드폰 문자 메시지를 전송을 이용한 핸드폰 인증 방법이기 때문에 "android.permission.RECEIVE_SMS" 권한이나 "android.permission.SEND_SMS" 권한을 사용하려고 했습니다. 그러던 중에 갑자기 android.permission.QUERY_ALL_PACKAGES 오류가 발생하지 뭡니까? 이게 gradle 버전, key properties, 이런 저런 packages 들을 섞어 쓰다보니 어떤게 원인인지 정확히 파악하지는 못했지만 해결방법을 알아내고 넘어갔더랬..
프로젝트를 진행하다 보면 로그를 찍어봐야 할때가 많습니다. 복잡한 프로젝트에서 로그는 그 쓰임새가 아주 유용합니다. 근데 가끔은 원치 않은 로그가 무수히 많이 찍힐때가 있습니다. 저의 경우에는 "E/FrameEvents(18357): updateAcquireFence: Did not find frame." 라는 의미없는 로그가 아래와 같이 초당 수십개씩 찍히고 있었죠. E/FrameEvents(18357): updateAcquireFence: Did not find frame. E/FrameEvents(18357): updateAcquireFence: Did not find frame. E/FrameEvents(18357): updateAcquireFence: Did not find frame. E/Fr..