๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS

[iOS/Swift] infoDictionary ์•ฑ ๋ฒ„์ „, ๋ฒˆ๋“ค ์•„์ด๋”” ๊ฐ€์ ธ์˜ค๊ธฐ

by ํ‹ด๋”” 2023. 2. 4.
728x90
๋ฐ˜์‘ํ˜•

infoDictionary๋ž€

  • ํ‚ค ๊ฐ’์œผ๋กœ ๊ฐ’์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋Š” ๋”•์…”๋„ˆ๋ฆฌ ํƒ€์ž…

  • ํƒ€๊ฒŸ > Info ํƒญ์— ์žˆ๋Š” Info.plist ํŒŒ์ผ๋กœ ๋ถ€ํ„ฐ ์ƒ์„ฑ๋˜์–ด ํ•ด๋‹น ๊ฐ’์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ์Œ

  • infoDictionary์˜ ํ‚ค๊ฐ’์€ Info.plist์˜ Raw Keys ์œผ๋กœ ์„ค์ •ํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
  • ์ฃผ๋กœ CFBundleIdentifier, NSMainNibFile, NSPrincipalClass ํ‚ค ๊ฐ’์ด ์‚ฌ์šฉ๋จ

 

์•ฑ ๋ฒ„์ „ ํ™•์ธ

    /// App Version
    public func getCurrentAppVersion() -> String? {
        guard let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String else {
            return nil
        }
        return appVersion
    }

 

  • General ํƒญ > Identity ์„น์…˜ > Version์—์„œ ์ •๋ณด๋ฅผ ๋ฐ”๊พธ๋ฉด Build Settings์˜ Versioning ์„น์…˜์˜ Marketing Version์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ 
  • ์ด๋•Œ ์ด Marketing Version์„ CFBundleShortVersionString ํ‚ค ๊ฐ’์œผ๋กœ ์–ป์„ ์ˆ˜ ์ž‡์Œ

์•ฑ ๋ฒˆ๋“ค ์•„์ด๋”” ํ™•์ธ

    /// App Bundle ID
    public func getBundleID() -> String? {
        guard let identifier = Bundle.main.infoDictionary?["CFBundleIdentifier"] as? String else {
            return nil
        }
        return identifier
    }

  • ํƒ€๊ฒŸ์„ ๋‘ ๊ฐœ ๋งŒ๋“ค์–ด ์ฃผ๊ณ  ๊ฐ๊ฐ Bundle Identifier ๊ฐ’์„ ๋ณ€๊ฒฝ

  • ๊ฐ ํƒ€๊ฒŸ์˜ ์ •๋ณด๊ฐ€ ์ถœ๋ ฅ๋จ. ํ”„๋กœ์ ํŠธ์˜ ์„ค์ •์ด ์•„๋‹Œ ํƒ€๊ฒŸ์˜ ์„ค์ •์ธ Info.plist์˜ ์ •๋ณด๋ฅผ ๋”ฐ๋ผ๊ฐ€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

 

์ฝ”๋“œํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋Š” ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ : https://github.com/youabledev/archive/blob/main/Archive/Basic%20Setting/TargetInfo.swift

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ ๋ฐ ๋„์„œ

์• ํ”Œ ๊ณต์‹ Doc

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€