commit 34ed9726034adbb439515ccb3d576311603bfe2b
Author: Chris Rittenhouse <dev@litritt.com>
Date: Thu Aug 3 15:31:47 2023 -0400
Removes `experimentalFeatures` property from `Settings`
commit 4e31d22d56d68439a340707d2fdbac3763df1e3a
Author: Chris Rittenhouse <dev@litritt.com>
Date: Thu Aug 3 15:17:47 2023 -0400
Reorder icons
commit 7509eaa29946b622ce0ad920a740f0212db5e771
Author: Chris Rittenhouse <dev@litritt.com>
Date: Thu Aug 3 15:17:24 2023 -0400
Moves icon changing code to `AlternateAppIcons`
commit 84821ef99ded74c066563041618aec3c4acb30d7
Author: Chris Rittenhouse <dev@litritt.com>
Date: Thu Aug 3 14:33:15 2023 -0400
Fixes icon authors
commit 0b821830f09b434fa375c37a2504c21ee5f90bdb
Author: Chris Rittenhouse <dev@litritt.com>
Date: Fri Jul 21 01:44:00 2023 -0400
Adds comments for functional alternate app icon code
commit e8dd6165619bc143f13dde51e5160af2695ef17e
Author: Chris Rittenhouse <dev@litritt.com>
Date: Fri Jul 21 01:30:03 2023 -0400
Adds implementation for changing app icon
commit 1e07483d18d1e865804ae34d6011844b63cb33cc
Author: Chris Rittenhouse <dev@litritt.com>
Date: Fri Jul 21 01:28:24 2023 -0400
Adds Alternate App Icon experimental feature and options
commit 46ed2ce3ae9593d4cc95f29d6caa09f33f2ce62d
Author: Chris Rittenhouse <dev@litritt.com>
Date: Fri Jul 21 01:26:51 2023 -0400
Adds extension to handle retrieving app icon images
commit 9dddb5f98f4523e7877f97c66a5ae95e6513cc09
Author: Chris Rittenhouse <dev@litritt.com>
Date: Fri Jul 21 01:24:19 2023 -0400
Adds experimental features as a property of `Settings`
commit d74038fd418a0e6fcd45942cb67e722904fc3e24
Author: Chris Rittenhouse <dev@litritt.com>
Date: Fri Jul 21 01:23:02 2023 -0400
Adds alternate icon assets
Co-authored-by: Chris Rittenhouse <dev@litritt.com>
35 lines
1.1 KiB
Swift
35 lines
1.1 KiB
Swift
//
|
|
// Bundle+AppIconImage.swift
|
|
// Delta
|
|
//
|
|
// Created by Chris Rittenhouse on 7/20/23.
|
|
// Copyright © 2023 LitRitt. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
extension Bundle
|
|
{
|
|
static func appIcon(for icon: AppIcon = .normal) -> UIImage? {
|
|
guard let appIcons = Bundle.main.infoDictionary?["CFBundleIcons"] as? [String: Any] else { return nil }
|
|
|
|
switch icon
|
|
{
|
|
case .normal:
|
|
guard let primaryAppIcon = appIcons["CFBundlePrimaryIcon"] as? [String: Any],
|
|
let appIconFiles = primaryAppIcon["CFBundleIconFiles"] as? [String],
|
|
let appIcon = appIconFiles.first else { return nil }
|
|
|
|
return UIImage(named:appIcon)
|
|
|
|
default:
|
|
guard let alternateAppIcons = appIcons["CFBundleAlternateIcons"] as? [String: Any],
|
|
let alternateAppIcon = alternateAppIcons[icon.assetName] as? [String: Any],
|
|
let appIconFiles = alternateAppIcon["CFBundleIconFiles"] as? [String],
|
|
let appIcon = appIconFiles.first else { return nil }
|
|
|
|
return UIImage(named:appIcon)
|
|
}
|
|
}
|
|
}
|