2019-12-07 15:43:11 -06:00
|
|
|
//
|
|
|
|
// RSImage-AppIcons.swift
|
|
|
|
// NetNewsWire
|
|
|
|
//
|
|
|
|
// Created by Nate Weaver on 2019-12-07.
|
|
|
|
// Copyright © 2019 Ranchero Software. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
import Foundation
|
2024-03-20 20:49:15 -07:00
|
|
|
import Core
|
2024-04-15 22:21:17 -07:00
|
|
|
import Images
|
2019-12-07 15:43:11 -06:00
|
|
|
|
|
|
|
extension RSImage {
|
2024-04-01 23:11:30 -07:00
|
|
|
static let appIconImage: RSImage? = {
|
2019-12-07 15:43:11 -06:00
|
|
|
#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
|
2019-12-07 22:23:55 -08:00
|
|
|
#endif
|
2024-04-01 23:11:30 -07:00
|
|
|
}()
|
2019-12-07 15:43:11 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
extension IconImage {
|
2024-04-01 23:11:30 -07:00
|
|
|
@MainActor static let appIcon: IconImage? = {
|
2019-12-07 15:43:11 -06:00
|
|
|
if let image = RSImage.appIconImage {
|
|
|
|
return IconImage(image)
|
|
|
|
}
|
|
|
|
return nil
|
2020-03-30 10:56:52 -05:00
|
|
|
}()
|
2019-12-07 15:43:11 -06:00
|
|
|
}
|