NetNewsWire/Shared/Extensions/RSImage-AppIcons.swift

37 lines
895 B
Swift
Raw Normal View History

2019-12-07 22:43:11 +01:00
//
// RSImage-AppIcons.swift
// NetNewsWire
//
// Created by Nate Weaver on 2019-12-07.
// Copyright © 2019 Ranchero Software. All rights reserved.
//
import Foundation
import Core
2019-12-07 22:43:11 +01:00
extension RSImage {
static var appIconImage: RSImage? {
#if os(macOS)
return RSImage(named: NSImage.applicationIconName)
#elseif os(iOS)
// https://stackoverflow.com/a/51241158/14256
if let icons = Bundle.main.infoDictionary?["CFBundleIcons"] as? [String: Any],
let primaryIcon = icons["CFBundlePrimaryIcon"] as? [String: Any],
let iconFiles = primaryIcon["CFBundleIconFiles"] as? [String],
let lastIcon = iconFiles.last {
return RSImage(named: lastIcon)
}
return nil
#endif
2019-12-07 22:43:11 +01:00
}
}
extension IconImage {
static let appIcon: IconImage? = {
2019-12-07 22:43:11 +01:00
if let image = RSImage.appIconImage {
return IconImage(image)
}
return nil
}()
2019-12-07 22:43:11 +01:00
}