[220906] TIL
Taehyeon-Kim opened this issue · 0 comments
Taehyeon-Kim commented
Custom Font
사용시 주의할 점
- 저작권
- 용량
- 로그는 이미지로 따는 것이 나음
- 사용자가 입력하는 칸은 시스템 폰트로 두도록 함
- Input 영역에 사용자가 어떤 것을 입력할지 모르기 때문
- 사용자 경험 고려 (폰트마다 크기가 달라지기 때문)
다국어 지원
- 문화에 대한 것도 고려
- Color(미국) / Colour(영국)
- LTR / RTL
- 시간, 날짜, 화폐 단위
- 폰트 (한국어, 영어 / 중국어 : 1~2pt 크게)
- 브랜드 컬러 (어떤 나라에서는 민감한 색상일 수 있음)
- 국제화
- i18n (문화에 대한 대응)
- 지역화, 현지화
- 언어에 대한 대응
- l10n (Localization)
다국어 대응
- 시스템 언어 기준
- 방식
- plist
- storyboard, object-id
- preview에서 언어 대응 확인 가능
- 정적인 텍스트에 대해서 대응 가능
- 미리 등록된 객체에 대해서 대응
- strings
- 한국어로 set 만들어놓고, 나중에 일괄적으로 다른 나라 언어로 변경하는 것도 방법
strings
- NSLocalizedString 이용
- SwiftGen, R.Swift 오픈 소스도 많이 이용함
- 세미콜론(;) 빼먹지 말기
extension String {
var localized: String {
return NSLocalizedString(self, comment: "")
}
}
func localized<T: CVarArg>(with argument: T) -> String {
return String(format: self.localized, argument)
}
Scheme 설정하기
Scheme마다 설정다르게 해서 언어 설정이나, DEBUG/RELEASE를 구분할 수 있다.
리뷰 남기기(옵션)
- 리뷰 얼럿 : 1년에 한 디바이스 당 3회 제한 // 일기를 100개 쓴 사람, 일주일을 사용한 사람 - Count 체크, Realm에 있는 Record 기준으로
- 소중한 리뷰 횟수를 날리지 말자
- 다음에 남기기 횟수도 포함
- StoreKit - SKStoreReviewController 사용 (Apple API)
- 시간 많이 걸리지 않음
- 소중한 리뷰 횟수를 날리지 말자
문의 남기기
- MessageUI 프레임워크 이용
- 메일로 문의 보내기
- 디바이스 테스트
- 아이폰 메일 계정을 등록해야 가능
import MessageUI
final class LocalizableViewController: UIViewController, MFMailComposeViewControllerDelegate, UINavigationControllerDelegate {}
func sendMail() {
if MFMailComposeViewController.canSendMail() {
let mail = MFMailComposeViewController()
mail.setToRecipients(["taekki@taekki.com"])
mail.setSubject("다이어리 문의사항")
mail.mailComposeDelegate = self
present(mail, animated: true)
} else {
// 메일 등록을 해주시거나, "~~@~~.com"으로 문의 주세요
print("alert")
}
}