336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


info.plist 내용 코드로 가져오기


설명

안녕하세요. 앱이름, 앱버전, 앱빌드정보등 앱을 만들면서 필수적으로 필요한 정보들이 있습니다. 물론 앱을 만들면서 적절히 활용도 할 수 있습니다. 기본적인 내용은 info.plist 파일에 있는 내용들을 코드로 가져와서 사용하는 부분입니다. 왼쪽에 file list에서 info.plist 파일을 선택한 후 XCode에 오른쪽 상단에 있는 버튼 중에 Comparison이라는 버튼을 클릭 하면 코드 형식으로 info.plist를 볼 수 있습니다. 그 내용을 코드로 가지고 와서 필요한 부분 꺼내서 쓰는 코드 입니다. 세팅값에 따라 가져 올수 있는 정보의 양이 많기 때문에 이 포스트에서는 앱이름, 앱버전, 앱빌드버전 그리고 앱이 지원하는 미니멈SDK버전만 가지고 오겠습니다.


사용환경

* Swift 4.0
* XCode 9.2

코드

옵셔널 형태로 가져오기 때문에 if문을 통해서 옵셔널을 벗겨서 사용을 해야 앱이 튕기지 않고 잘 사용 하실수 있습니다.

if let infoDic: [String: Any] = Bundle.main.infoDictionary {
    if let appName: String = infoDic["CFBundleName"] as? String { print("appName = \(appName)") }
    if let appVersion: String = infoDic["CFBundleShortVersionString"] as? String { print("appVersion = \(appVersion)") }
    if let appBuild: String = infoDic["CFBundleVersion"] as? String { print("appBuild - \(appBuild)") }
    if let minimumOSVersion: String = infoDic["MinimumOSVersion"] as? String { print("minimumOSVesion - \(minimumOSVersion)") }
} else {
    print("Not Info")
}
//출력 결과
appName = 노스모킹
appVersion = 1.0.0
appBuild - 1
minimumOSVesion - 9.0

맞치며

info.plist 파일에 있는 내용은 매우 중요한 정보들이 들어 있습니다. 코드로 가져왔던 앱버전,앱이름등등 사실 앱을 만들면서 코드로 가져와서 사용되는 부분이 극히 적을수 있습니다. 필요한 정보만 가지고 와서 활용을 하면 됩니다. 감사합니다. 틀린점이나 궁금한점 있으시면 댓글 남겨주세요 :)



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



안녕하세요. 오랜만에 글을 남깁니다.

연말인데 올해 계획을 잘 마무리 짓고 계신가요? 


오늘은 iOS의 퍼미션 종류를 알아보겠습니다. iOS10부터는 퍼미션 항목을 빼먹으면 검사 후 아예 아이튠즈에 안 올라가고, 바로 추가해 달라고 등록된 메일이 옵니다.

앱을 만들다보면 퍼미션을 까먹고 사진을 불러온다던가 위치를 알아올때 왜 안 가져오지 하면서 구글 검색을 하기 마련입니다. (아닌가요..?ㅎㅎ) 

퍼미션 종류와 info.plist에 들어가는 이름입니다.


  • (블루투스)Bluetooth Sharing – NSBluetoothPeripheralUsageDescription 
  • (달력)Calendar – NSCalendarsUsageDescription
  • (전화 관련)CallKit – NSVoIPUsageDescription
  • (카메라)Camera – NSCameraUsageDescription
  • (연락처)Contacts – NSContactsUsageDescription
  • (건강)Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription
  • (홈킷)HomeKit – NSHomeKitUsageDescription
  • (위치)Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescription
  • (미디어 라이브러리)Media Library – NSAppleMusicUsageDescription
  • (마이크)Microphone – NSMicrophoneUsageDescription
  • (모션)Motion – NSMotionUsageDescription
  • (사진, 앨범)Photos – NSPhotoLibraryUsageDescription
  • (미리알림)Reminders – NSRemindersUsageDescription
  • (음성 인식)Speech Recognition – NSSpeechRecognitionUsageDescription
  • (시리킷)SiriKit – NSSiriUsageDescription
  • (TV 프로 바이더)TV Provider – NSVideoSubscriberAccountUsageDescription


까먹지 말고 추가해주시면 될거 같습니다.

마지막까지 계획하신거 잘 마무리 하시고 2017년을 맞이하는 개발자가 되었으면 합니다.!



+ Recent posts