diff --git a/AltStore/Resources/AltIcons.plist b/AltStore/Resources/AltIcons.plist index 6b180b22..a1914105 100644 --- a/AltStore/Resources/AltIcons.plist +++ b/AltStore/Resources/AltIcons.plist @@ -8,6 +8,8 @@ name Original imageName + App + iconName AppIcon @@ -18,66 +20,88 @@ Blue imageName Blue + iconName + BlueIcon name Dark imageName Dark + iconName + DarkIcon name Honeydew imageName Honeydew + iconName + HoneydewIcon name Pride imageName Pride + iconName + PrideIcon name Sandy imageName Sandy + iconName + SandyIcon name Sky imageName Sky + iconName + SkyIcon name Snow imageName Snow + iconName + SnowIcon name Starburst imageName Starburst + iconName + StarburstIcon name Storm imageName Storm + iconName + StormIcon name Vista imageName Vista + iconName + VistaIcon name Winter imageName Winter + iconName + WinterIcon diff --git a/AltStore/Resources/Icons.xcassets/Classic/App.imageset/App.png b/AltStore/Resources/Icons.xcassets/Classic/App.imageset/App.png new file mode 100644 index 00000000..87269a8c Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Classic/App.imageset/App.png differ diff --git a/AltStore/Resources/Icons.xcassets/Classic/App.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Classic/App.imageset/Contents.json new file mode 100644 index 00000000..d7aaf31c --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Classic/App.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "1024.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Classic/Contents.json b/AltStore/Resources/Icons.xcassets/Classic/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Classic/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Blue.imageset/Blue.png b/AltStore/Resources/Icons.xcassets/Modern/Blue.imageset/Blue.png new file mode 100644 index 00000000..30a5ffc0 Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Blue.imageset/Blue.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Blue.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Blue.imageset/Contents.json new file mode 100644 index 00000000..26e14923 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Blue.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Blue.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Blue.appiconset/Blue.png b/AltStore/Resources/Icons.xcassets/Modern/BlueIcon.appiconset/Blue.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Blue.appiconset/Blue.png rename to AltStore/Resources/Icons.xcassets/Modern/BlueIcon.appiconset/Blue.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Blue.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/BlueIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Blue.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/BlueIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Dark.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Dark.imageset/Contents.json new file mode 100644 index 00000000..58cf636c --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Dark.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Dark.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Dark.imageset/Dark.png b/AltStore/Resources/Icons.xcassets/Modern/Dark.imageset/Dark.png new file mode 100644 index 00000000..5b5cdf28 Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Dark.imageset/Dark.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Dark.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/DarkIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Dark.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/DarkIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Dark.appiconset/Dark.png b/AltStore/Resources/Icons.xcassets/Modern/DarkIcon.appiconset/Dark.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Dark.appiconset/Dark.png rename to AltStore/Resources/Icons.xcassets/Modern/DarkIcon.appiconset/Dark.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Honeydew.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Honeydew.imageset/Contents.json new file mode 100644 index 00000000..d52028e8 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Honeydew.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Honeydew.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Honeydew.imageset/Honeydew.png b/AltStore/Resources/Icons.xcassets/Modern/Honeydew.imageset/Honeydew.png new file mode 100644 index 00000000..92ff918b Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Honeydew.imageset/Honeydew.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Honeydew.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/HoneydewIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Honeydew.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/HoneydewIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Honeydew.appiconset/Honeydew.png b/AltStore/Resources/Icons.xcassets/Modern/HoneydewIcon.appiconset/Honeydew.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Honeydew.appiconset/Honeydew.png rename to AltStore/Resources/Icons.xcassets/Modern/HoneydewIcon.appiconset/Honeydew.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Pride.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Pride.imageset/Contents.json new file mode 100644 index 00000000..4ac99b7f --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Pride.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Pride.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Pride.imageset/Pride.png b/AltStore/Resources/Icons.xcassets/Modern/Pride.imageset/Pride.png new file mode 100644 index 00000000..ed6446c9 Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Pride.imageset/Pride.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Pride.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/PrideIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Pride.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/PrideIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Pride.appiconset/Pride.png b/AltStore/Resources/Icons.xcassets/Modern/PrideIcon.appiconset/Pride.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Pride.appiconset/Pride.png rename to AltStore/Resources/Icons.xcassets/Modern/PrideIcon.appiconset/Pride.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sandy.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Sandy.imageset/Contents.json new file mode 100644 index 00000000..4ee217ea --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Sandy.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Sandy.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sandy.imageset/Sandy.png b/AltStore/Resources/Icons.xcassets/Modern/Sandy.imageset/Sandy.png new file mode 100644 index 00000000..67dce23f Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Sandy.imageset/Sandy.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sandy.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/SandyIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Sandy.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/SandyIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sandy.appiconset/Sandy.png b/AltStore/Resources/Icons.xcassets/Modern/SandyIcon.appiconset/Sandy.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Sandy.appiconset/Sandy.png rename to AltStore/Resources/Icons.xcassets/Modern/SandyIcon.appiconset/Sandy.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sky.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Sky.imageset/Contents.json new file mode 100644 index 00000000..fd1ff891 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Sky.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Sky.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sky.imageset/Sky.png b/AltStore/Resources/Icons.xcassets/Modern/Sky.imageset/Sky.png new file mode 100644 index 00000000..b9ca1b2c Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Sky.imageset/Sky.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sky.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/SkyIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Sky.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/SkyIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Sky.appiconset/Sky.png b/AltStore/Resources/Icons.xcassets/Modern/SkyIcon.appiconset/Sky.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Sky.appiconset/Sky.png rename to AltStore/Resources/Icons.xcassets/Modern/SkyIcon.appiconset/Sky.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Snow.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Snow.imageset/Contents.json new file mode 100644 index 00000000..e9a6ece1 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Snow.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Snow.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Snow.imageset/Snow.png b/AltStore/Resources/Icons.xcassets/Modern/Snow.imageset/Snow.png new file mode 100644 index 00000000..cce78cae Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Snow.imageset/Snow.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Snow.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/SnowIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Snow.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/SnowIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Snow.appiconset/Snow.png b/AltStore/Resources/Icons.xcassets/Modern/SnowIcon.appiconset/Snow.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Snow.appiconset/Snow.png rename to AltStore/Resources/Icons.xcassets/Modern/SnowIcon.appiconset/Snow.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Starburst.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Starburst.imageset/Contents.json new file mode 100644 index 00000000..613d4003 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Starburst.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Starburst.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Starburst.imageset/Starburst.png b/AltStore/Resources/Icons.xcassets/Modern/Starburst.imageset/Starburst.png new file mode 100644 index 00000000..03b53b48 Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Starburst.imageset/Starburst.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Starburst.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/StarburstIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Starburst.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/StarburstIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Starburst.appiconset/Starburst.png b/AltStore/Resources/Icons.xcassets/Modern/StarburstIcon.appiconset/Starburst.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Starburst.appiconset/Starburst.png rename to AltStore/Resources/Icons.xcassets/Modern/StarburstIcon.appiconset/Starburst.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Storm.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Storm.imageset/Contents.json new file mode 100644 index 00000000..4ed7f1e1 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Storm.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Storm.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Storm.imageset/Storm.png b/AltStore/Resources/Icons.xcassets/Modern/Storm.imageset/Storm.png new file mode 100644 index 00000000..13735fc2 Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Storm.imageset/Storm.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Storm.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/StormIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Storm.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/StormIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Storm.appiconset/Storm.png b/AltStore/Resources/Icons.xcassets/Modern/StormIcon.appiconset/Storm.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Storm.appiconset/Storm.png rename to AltStore/Resources/Icons.xcassets/Modern/StormIcon.appiconset/Storm.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Vista.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Vista.imageset/Contents.json new file mode 100644 index 00000000..61b9816f --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Vista.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Vista.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Vista.imageset/Vista.png b/AltStore/Resources/Icons.xcassets/Modern/Vista.imageset/Vista.png new file mode 100644 index 00000000..1a526a42 Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Vista.imageset/Vista.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Vista.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/VistaIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Vista.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/VistaIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Vista.appiconset/Vista.png b/AltStore/Resources/Icons.xcassets/Modern/VistaIcon.appiconset/Vista.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Vista.appiconset/Vista.png rename to AltStore/Resources/Icons.xcassets/Modern/VistaIcon.appiconset/Vista.png diff --git a/AltStore/Resources/Icons.xcassets/Modern/Winter.imageset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/Winter.imageset/Contents.json new file mode 100644 index 00000000..a63fb604 --- /dev/null +++ b/AltStore/Resources/Icons.xcassets/Modern/Winter.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Winter.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Icons.xcassets/Modern/Winter.imageset/Winter.png b/AltStore/Resources/Icons.xcassets/Modern/Winter.imageset/Winter.png new file mode 100644 index 00000000..a1efb2bf Binary files /dev/null and b/AltStore/Resources/Icons.xcassets/Modern/Winter.imageset/Winter.png differ diff --git a/AltStore/Resources/Icons.xcassets/Modern/Winter.appiconset/Contents.json b/AltStore/Resources/Icons.xcassets/Modern/WinterIcon.appiconset/Contents.json similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Winter.appiconset/Contents.json rename to AltStore/Resources/Icons.xcassets/Modern/WinterIcon.appiconset/Contents.json diff --git a/AltStore/Resources/Icons.xcassets/Modern/Winter.appiconset/Winter.png b/AltStore/Resources/Icons.xcassets/Modern/WinterIcon.appiconset/Winter.png similarity index 100% rename from AltStore/Resources/Icons.xcassets/Modern/Winter.appiconset/Winter.png rename to AltStore/Resources/Icons.xcassets/Modern/WinterIcon.appiconset/Winter.png diff --git a/AltStore/Settings/AltAppIconsViewController.swift b/AltStore/Settings/AltAppIconsViewController.swift index ab435e6d..af43ecaa 100644 --- a/AltStore/Settings/AltAppIconsViewController.swift +++ b/AltStore/Settings/AltAppIconsViewController.swift @@ -20,15 +20,17 @@ extension UIApplication private final class AltIcon: Decodable { - static let defaultIconName: String = "AppIcon" + static let defaultName: String = "Original" var name: String var imageName: String + var iconName: String private enum CodingKeys: String, CodingKey { case name case imageName + case iconName } required init(from decoder: Decoder) throws @@ -36,6 +38,7 @@ private final class AltIcon: Decodable let container = try decoder.container(keyedBy: CodingKeys.self) self.name = try container.decode(String.self, forKey: .name) self.imageName = try container.decode(String.self, forKey: .imageName) + self.iconName = try container.decode(String.self, forKey: .iconName) } } @@ -146,20 +149,14 @@ private extension AltAppIconsViewController config.textProperties.font = font config.textProperties.color = .label - // we have to do this hardcodded name hack for .appiconset - // else one can supply the artifacts via .imageset - let image: UIImage? = - UIImage(named: "\(icon.imageName)76x76@2x~ipad") ?? - UIImage(named: "\(icon.imageName)60x60@2x") ?? - UIImage(named: icon.imageName) - + let image = UIImage(named: icon.imageName) config.image = image config.imageProperties.maximumSize = CGSize(width: imageWidth, height: imageWidth) config.imageProperties.cornerRadius = imageWidth / 5.0 // Copied from AppIconImageView cell.contentConfiguration = config - if UIApplication.shared.alternateIconName == icon.imageName || (UIApplication.shared.alternateIconName == nil && icon.imageName == AltIcon.defaultIconName) + if UIApplication.shared.alternateIconName == icon.iconName || (UIApplication.shared.alternateIconName == nil && icon.name == AltIcon.defaultName) { cell.accessories = [.checkmark(options: .init(tintColor: .white))] } @@ -167,7 +164,7 @@ private extension AltAppIconsViewController { cell.accessories = [] } - + var backgroundConfiguration = UIBackgroundConfiguration.listPlainCell() backgroundConfiguration.backgroundColorTransformer = UIConfigurationColorTransformer { [weak cell] c in if let state = cell?.configurationState, state.isHighlighted @@ -205,8 +202,8 @@ extension AltAppIconsViewController collectionView.reloadData() // If assigning primary icon, pass "nil" as alternate icon name. - let imageName = (icon.imageName == "AppIcon") ? nil : icon.imageName - UIApplication.shared.setAlternateIconName(imageName) { error in + let iconName = (icon.name == AltIcon.defaultName) ? nil : icon.iconName + UIApplication.shared.setAlternateIconName(iconName) { error in if let error { let alertController = UIAlertController(title: NSLocalizedString("Unable to Change App Icon", comment: ""),