App의 Icon에서 Version과 Commit을 판별하여 혼란을 방지



업데이트 2018/08/12



iOS 버전에서 iOS11 단말기에 앱을 설치했을 때 아이콘 이미지가 변하지 않는다는 문제가 있었기 때문에 수정했습니다. (v1.0 -> v1.1)
지금까지처럼 직접 빌드 중간 파일의 아이콘 파일을 다시 쓰는 대신 actool을 사용하여 생성하는 방법으로 변경했습니다. (이 방법을 WWDC2018에서 Apple 엔지니어에게 가르쳐 주셨습니다 )

업데이트 2017/11/09



안드로이드 버전도 만들었습니다 (아직 alpha 버전 & 조금 빼기 때문에 제대로 움직이지 않을 가능성도 있습니다.)
htps : // 기주 b. 코 m / 츠에노 / 이콘 후 D - 안 d 로이 d

문제



사내에서 프로젝트 관계자의 사람이 개발판의 앱을 사내 서버로부터 넣어 시험 받을 수 있게 되어 있습니다만, 이런 문제가 있었습니다.
  • API 서버 환경별로 여러 앱을 내보내 공존시켜 설치 후 어느 앱이 어디에 연결되는지 알 수 없다
  • 오류가 발생한 앱의 커밋 ID를 모른다.
  • 어떤 브런치의 앱인지 확실히 모르는

  • (원래 개발 플로우나 룰의 문제라고 하는 것도 있을 것 같습니다만...)

    해결책



    아이콘에 빌드 시 정보를 올려 홈 화면에서 앱 정보를 쉽게 파악할 수 있게 되었습니다.

    방법



    도구
    htps : // 기주 b. 코 m / 츠에노 / 이콘 후 D (iOS판)
    htps : // 기주 b. 코 m / 츠에노 / 이콘 후 D - 안 d 로이 d (Android판)
    에 공개했습니다.

    기능


  • 빌드 날짜, 버전, 커밋 ID 및 지점 이름을 아이콘 이미지 위에 추가합니다
  • 프로젝트의 아이콘 파일을 다시 쓰지 않습니다 (빌드 용 임시 파일 만 덮어 씁니다)
  • TravisCI에서의 실행에 대응 (브랜치명이 올바르게 취득할 수 없기 때문에 별도 처리가 필요했습니다)
  • Release 빌드에서는 동작하지 않습니다 (BuildConfig/BuildType을 체크하고 있으므로 변경한 경우는 주의해 주세요)
  • 필요에 따라 Debug 빌드에서 처리를 중지 할 수 있습니다 (시간 단축 용)

  • 실행하면 이런 느낌이 듭니다.


    프로젝트에 도입하려면



    iOS 버전
    brew tap tueno/iconhud
    brew install iconhud

    Android 버전
    brew tap tueno/iconhud-android
    brew install iconhud-android

    에서 설치 후에 프로젝트 측에 실행 처리를 기술하기만 하면 됩니다. (기술 개소와 내용은 리포지토리의 README를 참조.)

    덧붙여서, 빌드 디렉토리의 아이콘 이미지를 가공하므로 프로젝트에 들어있는 아이콘 이미지를 더럽히지 않습니다.
    또한 Debug 빌드시 필요하지 않은 경우
    --ignore-debug-build
    

    와 같이 옵션을 지정합니다.
    (기타 옵션은 -h에서 확인할 수 있습니다.)

    주의점 등



    ※Release 빌드에서는 동작하지 않게 되어 있으므로, iOS판에서는 사내 배포용의 BuildConfig를 작성해 이용해 주세요.
    ※아이콘 화상이 존재하지 않는 경우에는 대응할 수 없습니다.
    ※옛 방법입니다만, Info.plist 에 아이콘 화상 파일을 지정하는 방법에는 대응하고 있지 않습니다. (iOS 버전)

    아직 적은 인원수로 밖에 사용하고 있지 않기 때문에, 누락이나 버그 등이 있으면 PR 혹은 지적해 주시면 도움이 됩니다!

    좋은 웹페이지 즐겨찾기