-
오픈소스 라이센스 표시iOS 2023. 6. 19. 09:59
안녕하세요. 그린입니다🍏
이번 포스팅에서는 앱을 구성하면서 사용한 오픈소스 라이센스를 디바이스 해당 앱 설정에서 표시하는 방법에 대해 알아보겠습니다🙋🏻
앱에서 사용된 오픈소스를 사용하면서 라이센스 표시를 꼭 해줘야하는 경우가 있습니다.
이때 실제 해당 앱 내부에서 설정이나 마이페이지 같은 화면에서 표시해줄 수도 있고,
디바이스 > 설정 > 해당 앱에서 라이센스 정보를 표시해줄 수도 있습니다.
여기서는 후자인 디바이스 > 설정 > 해당 앱 정보에서 라이센스를 표시하는 방법을 다뤄보겠습니다🙌
LicensePlist 라이브러리 사용
우선 사용된 오픈소스 라이센스들의 정보를 추출해오기 위하여 아래 라이브러리를 사용합니다.
https://github.com/mono0926/LicensePlist
해당 라이브러리는 Homebrew로 설치해야 함으로 만약 Homebrew가 설치되지 않았다면 아래 포스팅을 통해 설치 해주세요!
https://green1229.tistory.com/74
자 Homebrew 설치가 끝났다면 터미널에서 하기 명령어를 통해 LicensePlist를 설치합니다.
brew install mono0926/license-plist/license-plist
그 후, 우선 프로젝트를 생성하고 외부 라이브러리나 프레임워크를 심어주는것이 가장 첫번째겠죠?
저는 요렇게 TCA와 Alamofire 라이브러리를 사용하였고 이를 예시로 설명하겠습니다.
해당하는 앱의 디렉토리로 이동하여 사용된 오픈소스 라이센스 정보를 생성 및 추출하기 위해 아래 명령어를 입력합니다.
license-plist // 기본 사용 license-plist --prefix LicenseProject --add-version-numbers // 파일 네이밍 변경 및 사용된 버전 사용
저는 후자로 파일 네이밍을 해당 앱에 맞게 변경하여 사용했으며 사용된 버전도 체크하였습니다.
명령어로 생성을 하게 되면 이렇게 파일들이 생성되게 됩니다.
특히 LicenseProject 폴더 내에는 이렇게 사용한 라이브러리들에 대한 plist 파일들이 생성되죠 😁
자 그럼 파일도 생성되었겠다 이제 실제적으로 프로젝트에서 설정해주면 끝이에요.
요렇게 New file을 통해 Settings bundle을 커스텀하게 꾸려줄겁니다.
만약 Settings.bundle에 대해 자세한 설정 및 설명이 필요하다면 아래 포스팅을 사전에 참고하고 오면 더 도움이 됩니다!
https://green1229.tistory.com/353
여기까지 왔다면 이제 남은건 Setting Bundle을 커스텀하게 만들어주는거에요!
그 전에 먼저 아까 만들어진 외부 라이브러리에 대한 plist 및 폴더 파일 있죠?
총 3개!! 그것들을 Settings.bundle 내부로 가져와야 해요.
요렇게요!
그러고 나면 기존 파일들이 위치했던 폴더는 이렇게 비게 되니 해당 폴더를 제거해줘도 됩니다.
여기까지 왔다면 아래 settings.bundle 파일에서 기본적으로 생성되는 Preference Items 하위 항목 4개를 다 지워줍니다.
그 후 Preference Items에 하나 아이템을 생성하여 Type은 Child Pane으로 Title은 노출시킬 타이틀로 그리고 Filename은 아까 가져온 LicenseProject 폴더명과 동일하게 입력해줍니다.
이러면 끄으으으읕!!!!!!🏄🏻♂️
한번 확인해볼까요?
마무리
아주 간단하게 설정할 수 있고, 또 이렇게 담으면 앱 내부에서 별도 페이지를 통하지 않아도 되니 더 라이트하고 편리해질 수 있어서 좋아요👍
간단하지만 위 예제 프로젝트는 아래 깃헙 레포에서 확인하실 수 있습니다.
https://github.com/GREENOVER/playground/tree/main/LicenseProject
참고 자료
'iOS' 카테고리의 다른 글
앱 출시 - 숏스(SHORT NEWS) (feat. Mash-Up) (30) 2023.07.24 특정 버전에 대한 분기 처리하기 (systemVersion) (10) 2023.07.13 identifierForVendor를 이용한 기기 식별하기 (14) 2023.05.30 Setting Bundle을 사용해 커스텀한 설정 추가하기 (6) 2023.05.01 쿠키로 안전하게 HLS m3u8 영상 접근하기 (11) 2023.03.30