AcknowList는 Swift 언어로 작성된 오픈 소스 라이브러리로, 앱의 라이선스 정보를 관리하는 데 도움을 줍니다. 라이선스 정보 페이지에 특정 라이선스 종류의 라이선스 정보를 추가하는 방법은 다음과 같습니다.
1. AcknowList 설치하기
먼저, 해당 프로젝트에 AcknowList를 설치해야 합니다. 이를 위해서는 CocoaPods를 사용하거나 수동으로 라이브러리 파일을 추가할 수 있습니다.
-
CocoaPods를 사용하는 경우,
Podfile
에 다음과 같은 내용을 추가하세요:pod 'AcknowList'
그리고 Terminal에서
pod install
명령을 실행하여 AcknowList를 설치하세요. -
수동으로 라이브러리 파일을 추가하는 경우, AcknowList GitHub 저장소에서 최신 버전의 라이브러리 파일을 다운로드하여 프로젝트에 추가하세요.
2. AcknowList 사용하기
2.1 AcknowList에서 사용할 라이선스 정보 파일 생성하기
AcknowList는 프로젝트 루트 디렉토리에 Acknowledgements
라는 이름의 폴더를 생성하고, 그 안에 Acknowledgements.plist
파일을 추가하여 사용하는 라이선스 정보를 관리합니다.
- 프로젝트 루트 디렉토리에서
Acknowledgements
폴더를 생성합니다. Acknowledgements
폴더 안에Acknowledgements.plist
파일을 생성합니다.
2.2 라이선스 정보 추가하기
Acknowledgements.plist
파일을 열고, 다음과 같은 내용을 추가합니다.
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>라이선스</string>
</dict>
...
<!-- 이곳에 라이선스 정보를 추가하세요 -->
...
</array>
</dict>
</plist>
위의 코드에서 <array>
태그 안에 <dict>
태그를 사용하여 추가할 라이선스 정보를 작성합니다. 라이선스 정보는 다음과 같은 형식으로 작성할 수 있습니다:
<dict>
<key>Type</key>
<string>PSChildPaneSpecifier</string>
<key>Title</key>
<string>라이선스 종류</string>
<key>File</key>
<string>라이선스 파일 이름</string>
</dict>
라이선스 종류
: 추가하려는 라이선스의 종류를 나타내는 문자열입니다. 예를 들어, “Apache License 2.0”이나 “MIT License” 등을 입력할 수 있습니다.라이선스 파일 이름
: 해당 라이선스의 내용이 작성된 파일의 이름을 입력합니다. 일반적으로LICENSE.txt
나LICENSE.md
와 같은 이름을 사용합니다. 이 파일은Acknowledgements
폴더에 위치해야 합니다.
위에서 작성한 내용을 통해 필요한 라이선스 정보를 추가한 후 저장하세요.
3. AcknowList를 사용한 라이선스 정보 페이지 표시하기
프로젝트에서 라이선스 정보를 표시하기 위해 Settings.bundle
을 추가해야 합니다.
- 프로젝트 탐색기에서 타겟을 선택하고,
Build Phases
탭을 엽니다. Link Binary With Libraries
섹션에서Settings.bundle
을 추가합니다.
프로젝트에 Settings.bundle
을 추가한 후, 다음 단계를 따라 라이선스 정보를 표시합니다:
-
AppDelegate.swift
파일을 열고,application(_:didFinishLaunchingWithOptions:)
메서드 내에 아래의 코드를 추가합니다.AcknowList.globalAcknowledgementsFileURL = Bundle.main.url(forResource: "Acknowledgements", withExtension: "plist")
이 코드는 앱이 시작될 때 AcknowList가 사용할 라이선스 정보 파일 URL을 설정하는 역할을 합니다.
-
Settings.bundle
폴더 안에Root.plist
파일을 열고, 다음과 같이 수정합니다:<key>PreferenceSpecifiers</key> <array> <dict> <key>Type</key> <string>PSGroupSpecifier</string> <key>Title</key> <string>Settings</string> </dict> ... <dict> <key>Type</key> <string>PSChildPaneSpecifier</string> <key>Title</key> <string>Acknowledgements</string> <key>File</key> <string>AcknowListViewController</string> </dict> </array>
위의 코드에서
<dict>
태그 안에<dict>
태그를 사용하여 라이선스 정보를 추가합니다.<string>AcknowListViewController</string>
부분은 AcknowList에서 제공하는 라이선스 정보를 표시하는 뷰 컨트롤러를 사용한다는 것을 나타냅니다.
이제 앱을 빌드하고 실행하면, 설정 화면에서 “Acknowledgements”를 터치하면 해당 라이선스 정보를 볼 수 있는 페이지가 표시됩니다.