diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index af79f73a..c2e6c60d 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -83,6 +83,7 @@ 4879A95F2861046500FC1BBD /* AltSign in Frameworks */ = {isa = PBXBuildFile; productRef = 4879A95E2861046500FC1BBD /* AltSign */; }; 4879A9622861049C00FC1BBD /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 4879A9612861049C00FC1BBD /* OpenSSL */; }; 99C4EF4D2979132100CB538D /* SemanticVersion in Frameworks */ = {isa = PBXBuildFile; productRef = 99C4EF4C2979132100CB538D /* SemanticVersion */; }; + 99E59E1D299BFE5D00FAF33D /* AppIconsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E59E1C299BFE5D00FAF33D /* AppIconsView.swift */; }; B3146ED2284F581E00BBC3FD /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; }; B3146ED3284F581E00BBC3FD /* Roxas.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B33FFBA8295F8E98002259E6 /* libfragmentzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F894295F7F9B002B1159 /* libfragmentzip.a */; }; @@ -631,6 +632,7 @@ 1FB96FF2292D0539007E68D1 /* PillButtonProgressViewStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PillButtonProgressViewStyle.swift; sourceTree = ""; }; 1FFA56C1299994390011B6F5 /* OutputCapturer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutputCapturer.swift; sourceTree = ""; }; 1FFEF103298552DB0098374C /* AppVersionHistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppVersionHistoryView.swift; sourceTree = ""; }; + 99E59E1C299BFE5D00FAF33D /* AppIconsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIconsView.swift; sourceTree = ""; }; B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Roxas.xcodeproj; path = Dependencies/Roxas/Roxas.xcodeproj; sourceTree = ""; }; B33FFBA9295F8F78002259E6 /* preboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = preboard.c; path = src/preboard.c; sourceTree = ""; }; B33FFBAB295F8F98002259E6 /* companion_proxy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = companion_proxy.c; path = src/companion_proxy.c; sourceTree = ""; }; @@ -847,7 +849,6 @@ BF9ABA4A22DD137F008935CF /* NavigationBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationBar.swift; sourceTree = ""; }; BF9ABA4C22DD16DE008935CF /* PillButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PillButton.swift; sourceTree = ""; }; BFA8172A23C5633D001B5953 /* FetchAnisetteDataOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FetchAnisetteDataOperation.swift; sourceTree = ""; }; - BFB1169C22932DB100BB457C /* apps.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = apps.json; sourceTree = ""; }; BFB39B5B252BC10E00D1BE50 /* Managed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Managed.swift; sourceTree = ""; }; BFB4323E22DE852000B7F8BC /* UpdateCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UpdateCollectionViewCell.xib; sourceTree = ""; }; BFB6B21D231870160022A802 /* NewsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsViewController.swift; sourceTree = ""; }; @@ -1211,6 +1212,7 @@ 1F2EF786297C4D40002FD839 /* LicensesView.swift */, 1F545E82298D79E400589F68 /* ErrorLogView.swift */, 1FA5A6C9298E8B2F007BA946 /* RefreshAttemptsView.swift */, + 99E59E1C299BFE5D00FAF33D /* AppIconsView.swift */, ); path = Settings; sourceTree = ""; @@ -1918,7 +1920,6 @@ isa = PBXGroup; children = ( BF44EEF2246B3A17002A52F2 /* AltBackup.ipa */, - BFB1169C22932DB100BB457C /* apps.json */, BFD247762284B9A700981D42 /* Assets.xcassets */, BF770E6822BD57DD002A40FE /* Silence.m4a */, 1F07F552295455A300F7BE95 /* Localizable.strings */, @@ -2856,6 +2857,7 @@ 1F6E08E429280D1E005059C0 /* PillButtonStyle.swift in Sources */, 1F6284D7295218980060AAD8 /* DocumentPicker.swift in Sources */, BFBE0007250AD0E70080826E /* ViewAppIntentHandler.swift in Sources */, + 99E59E1D299BFE5D00FAF33D /* AppIconsView.swift in Sources */, 1F0DD83F29367F6C007608A4 /* ConnectAppleIDView.swift in Sources */, 1F07F56F2955FB2000F7BE95 /* AppIDsView.swift in Sources */, BFDB6A0822AAED73007EA6D6 /* ResignAppOperation.swift in Sources */, @@ -3572,8 +3574,10 @@ baseConfigurationReference = B3C3960B284F4C9800DA9E2F /* AltStore.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "Neon Storm Steel Starburst"; + ASSETCATALOG_COMPILER_APPICON_NAME = Neon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = AltStore/AltStore.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -3609,8 +3613,10 @@ baseConfigurationReference = B3C3960B284F4C9800DA9E2F /* AltStore.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "Neon Storm Steel Starburst"; + ASSETCATALOG_COMPILER_APPICON_NAME = Neon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = AltStore/AltStore.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; diff --git a/AltStore/Generated/Assets.swift b/AltStore/Generated/Assets.swift index 76cb6637..feb370d5 100644 --- a/AltStore/Generated/Assets.swift +++ b/AltStore/Generated/Assets.swift @@ -32,8 +32,6 @@ internal enum Asset { internal static let settingsBackground = ColorAsset(name: "SettingsBackground") internal static let settingsHighlighted = ColorAsset(name: "SettingsHighlighted") internal static let next = ImageAsset(name: "Next") - internal static let riley = ImageAsset(name: "Riley") - internal static let shane = ImageAsset(name: "Shane") internal static let browse = ImageAsset(name: "Browse") internal static let myApps = ImageAsset(name: "MyApps") internal static let news = ImageAsset(name: "News") diff --git a/AltStore/Generated/Localizations.swift b/AltStore/Generated/Localizations.swift index 6da01872..dfd19929 100644 --- a/AltStore/Generated/Localizations.swift +++ b/AltStore/Generated/Localizations.swift @@ -132,6 +132,10 @@ internal enum L10n { /// AppIDsView internal static let title = L10n.tr("Localizable", "AppIDsView.title", fallback: "App IDs") } + internal enum AppIconsView { + /// AppIconsView + internal static let title = L10n.tr("Localizable", "AppIconsView.title", fallback: "App Icon") + } internal enum AppPermissionGrid { /// AppPermissionGrid internal static let usageDescription = L10n.tr("Localizable", "AppPermissionGrid.usageDescription", fallback: "Usage Description") diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/100.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/100.png deleted file mode 100644 index a7494326..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/100.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/1024.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/1024.png deleted file mode 100644 index 5e20d8e0..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/1024.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/114.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/114.png deleted file mode 100644 index e6736d01..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/114.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/120.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/120.png deleted file mode 100644 index de2f546f..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/120.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/144.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/144.png deleted file mode 100644 index 5b4d2b2d..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/144.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/152.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/152.png deleted file mode 100644 index b0722715..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/152.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/167.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/167.png deleted file mode 100644 index a6a34cb9..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/167.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/180.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/180.png deleted file mode 100644 index e14fee11..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/180.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/20.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/20.png deleted file mode 100644 index 7188b707..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/20.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/29.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/29.png deleted file mode 100644 index 6ef27d9f..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/29.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/40.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/40.png deleted file mode 100644 index f6477c38..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/40.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/50.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/50.png deleted file mode 100644 index 624a48a8..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/50.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/57.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/57.png deleted file mode 100644 index 4e9e6cfa..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/57.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/58.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/58.png deleted file mode 100644 index ae186abe..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/58.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/60.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/60.png deleted file mode 100644 index e2343134..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/60.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/72.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/72.png deleted file mode 100644 index 55c06905..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/72.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/76.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/76.png deleted file mode 100644 index e6294437..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/76.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/80.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/80.png deleted file mode 100644 index d4c829de..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/80.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/87.png b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/87.png deleted file mode 100644 index 5acfa839..00000000 Binary files a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/87.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 65b74d7e..00000000 --- a/AltStore/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1 +0,0 @@ -{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"}]} \ No newline at end of file diff --git a/AltStore/Resources/Assets.xcassets/Neon-image.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Neon-image.imageset/Contents.json new file mode 100644 index 00000000..1e4b6efd --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Neon-image.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Neon-image.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Neon-image.imageset/Neon-image.png b/AltStore/Resources/Assets.xcassets/Neon-image.imageset/Neon-image.png new file mode 100644 index 00000000..dc6d3ca8 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon-image.imageset/Neon-image.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/Contents.json b/AltStore/Resources/Assets.xcassets/Neon.appiconset/Contents.json new file mode 100644 index 00000000..5d0bd4d7 --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Neon.appiconset/Contents.json @@ -0,0 +1,116 @@ +{ + "images" : [ + { + "filename" : "icon-40.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-60.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "icon-58.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-87.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "icon-80.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "icon-180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "icon-20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "icon-58.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "icon-80.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "icon-152.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "icon-167.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "icon-1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-1024.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-1024.png new file mode 100644 index 00000000..9a166f7c Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-1024.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-120.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-120.png new file mode 100644 index 00000000..d4f31d68 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-120.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-152.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-152.png new file mode 100644 index 00000000..ac9798ce Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-152.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-167.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-167.png new file mode 100644 index 00000000..96c31c53 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-167.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-180.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-180.png new file mode 100644 index 00000000..f9f55b1e Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-180.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-20.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-20.png new file mode 100644 index 00000000..31163399 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-20.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-29.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-29.png new file mode 100644 index 00000000..d8d61d2d Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-29.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-40.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-40.png new file mode 100644 index 00000000..ff01b325 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-40.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-58.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-58.png new file mode 100644 index 00000000..06563a9d Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-58.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-60.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-60.png new file mode 100644 index 00000000..b344678f Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-60.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-76.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-76.png new file mode 100644 index 00000000..d3547acc Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-76.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-80.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-80.png new file mode 100644 index 00000000..b6195cf7 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-80.png differ diff --git a/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-87.png b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-87.png new file mode 100644 index 00000000..1b6ae021 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Neon.appiconset/icon-87.png differ diff --git a/AltStore/Resources/Assets.xcassets/Riley.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Riley.imageset/Contents.json deleted file mode 100644 index 6a3c352c..00000000 --- a/AltStore/Resources/Assets.xcassets/Riley.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "riley.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/AltStore/Resources/Assets.xcassets/Riley.imageset/riley.jpg b/AltStore/Resources/Assets.xcassets/Riley.imageset/riley.jpg deleted file mode 100644 index 1257d376..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Riley.imageset/riley.jpg and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/Shane.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Shane.imageset/Contents.json deleted file mode 100644 index 4b20453d..00000000 --- a/AltStore/Resources/Assets.xcassets/Shane.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "shane.jpeg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/AltStore/Resources/Assets.xcassets/Shane.imageset/shane.jpeg b/AltStore/Resources/Assets.xcassets/Shane.imageset/shane.jpeg deleted file mode 100644 index 037f4061..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Shane.imageset/shane.jpeg and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst-image.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Starburst-image.imageset/Contents.json new file mode 100644 index 00000000..857fed01 --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Starburst-image.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Starburst-image.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Starburst-image.imageset/Starburst-image.png b/AltStore/Resources/Assets.xcassets/Starburst-image.imageset/Starburst-image.png new file mode 100644 index 00000000..2bd4b1ed Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst-image.imageset/Starburst-image.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/Contents.json b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/Contents.json new file mode 100644 index 00000000..5d0bd4d7 --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/Contents.json @@ -0,0 +1,116 @@ +{ + "images" : [ + { + "filename" : "icon-40.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-60.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "icon-58.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-87.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "icon-80.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "icon-180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "icon-20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "icon-58.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "icon-80.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "icon-152.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "icon-167.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "icon-1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-1024.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-1024.png new file mode 100644 index 00000000..6384484b Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-1024.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-120.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-120.png new file mode 100644 index 00000000..d44baff0 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-120.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-152.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-152.png new file mode 100644 index 00000000..5838b18e Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-152.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-167.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-167.png new file mode 100644 index 00000000..22365a0d Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-167.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-180.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-180.png new file mode 100644 index 00000000..cbd70b3a Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-180.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-20.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-20.png new file mode 100644 index 00000000..3920571e Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-20.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-29.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-29.png new file mode 100644 index 00000000..4075d7b7 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-29.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-40.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-40.png new file mode 100644 index 00000000..a347b358 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-40.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-58.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-58.png new file mode 100644 index 00000000..25b37ea1 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-58.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-60.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-60.png new file mode 100644 index 00000000..ad829ac7 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-60.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-76.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-76.png new file mode 100644 index 00000000..78d30b96 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-76.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-80.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-80.png new file mode 100644 index 00000000..acf29473 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-80.png differ diff --git a/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-87.png b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-87.png new file mode 100644 index 00000000..9616e4b2 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Starburst.appiconset/icon-87.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel-image.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Steel-image.imageset/Contents.json new file mode 100644 index 00000000..bd9e8fd7 --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Steel-image.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Steel-image.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Steel-image.imageset/Steel-image.png b/AltStore/Resources/Assets.xcassets/Steel-image.imageset/Steel-image.png new file mode 100644 index 00000000..782bb216 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel-image.imageset/Steel-image.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/Contents.json b/AltStore/Resources/Assets.xcassets/Steel.appiconset/Contents.json new file mode 100644 index 00000000..5d0bd4d7 --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Steel.appiconset/Contents.json @@ -0,0 +1,116 @@ +{ + "images" : [ + { + "filename" : "icon-40.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-60.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "icon-58.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-87.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "icon-80.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "icon-180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "icon-20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "icon-58.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "icon-80.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "icon-152.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "icon-167.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "icon-1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-1024.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-1024.png new file mode 100644 index 00000000..88a84b40 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-1024.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-120.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-120.png new file mode 100644 index 00000000..e97517db Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-120.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-152.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-152.png new file mode 100644 index 00000000..b97b5ecb Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-152.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-167.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-167.png new file mode 100644 index 00000000..3188f9f1 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-167.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-180.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-180.png new file mode 100644 index 00000000..beb79011 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-180.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-20.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-20.png new file mode 100644 index 00000000..5f4c4e24 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-20.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-29.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-29.png new file mode 100644 index 00000000..3c989f95 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-29.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-40.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-40.png new file mode 100644 index 00000000..d7006859 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-40.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-58.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-58.png new file mode 100644 index 00000000..36ea0037 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-58.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-60.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-60.png new file mode 100644 index 00000000..9bb2947f Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-60.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-76.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-76.png new file mode 100644 index 00000000..09f0f630 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-76.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-80.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-80.png new file mode 100644 index 00000000..1cd35f5e Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-80.png differ diff --git a/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-87.png b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-87.png new file mode 100644 index 00000000..91b5b1c5 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Steel.appiconset/icon-87.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm-image.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Storm-image.imageset/Contents.json new file mode 100644 index 00000000..93a8c866 --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Storm-image.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Storm-image.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Storm-image.imageset/Storm-image.png b/AltStore/Resources/Assets.xcassets/Storm-image.imageset/Storm-image.png new file mode 100644 index 00000000..aeedfd33 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm-image.imageset/Storm-image.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/Contents.json b/AltStore/Resources/Assets.xcassets/Storm.appiconset/Contents.json new file mode 100644 index 00000000..5d0bd4d7 --- /dev/null +++ b/AltStore/Resources/Assets.xcassets/Storm.appiconset/Contents.json @@ -0,0 +1,116 @@ +{ + "images" : [ + { + "filename" : "icon-40.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-60.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "icon-58.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-87.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "icon-80.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "icon-120.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "icon-180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "icon-20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "icon-29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "icon-58.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "icon-40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "icon-80.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "icon-76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "icon-152.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "icon-167.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "icon-1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-1024.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-1024.png new file mode 100644 index 00000000..e6bdf0ba Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-1024.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-120.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-120.png new file mode 100644 index 00000000..66a2904b Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-120.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-152.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-152.png new file mode 100644 index 00000000..759533ae Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-152.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-167.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-167.png new file mode 100644 index 00000000..c583c451 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-167.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-180.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-180.png new file mode 100644 index 00000000..2c6fcd8e Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-180.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-20.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-20.png new file mode 100644 index 00000000..7dcea151 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-20.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-29.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-29.png new file mode 100644 index 00000000..50230436 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-29.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-40.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-40.png new file mode 100644 index 00000000..ee780861 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-40.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-58.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-58.png new file mode 100644 index 00000000..daa84e58 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-58.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-60.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-60.png new file mode 100644 index 00000000..2e511a93 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-60.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-76.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-76.png new file mode 100644 index 00000000..55779968 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-76.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-80.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-80.png new file mode 100644 index 00000000..233338b5 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-80.png differ diff --git a/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-87.png b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-87.png new file mode 100644 index 00000000..d8e93cb9 Binary files /dev/null and b/AltStore/Resources/Assets.xcassets/Storm.appiconset/icon-87.png differ diff --git a/AltStore/Resources/en.lproj/Localizable.strings b/AltStore/Resources/en.lproj/Localizable.strings index dd1e0e6d..53c541b6 100644 --- a/AltStore/Resources/en.lproj/Localizable.strings +++ b/AltStore/Resources/en.lproj/Localizable.strings @@ -160,7 +160,9 @@ "MyAppsView.Hints.NoUpdates.dismissForNow" = "Dismiss for now"; "MyAppsView.Hints.NoUpdates.dontShowAgain" = "Don't show this again"; - /* AppIDsView */ "AppIDsView.title" = "App IDs"; "AppIDsView.description" = "Each app and app extension installed with SideStore must register an App ID with Apple.\n\nApp IDs for paid developer accounts never expire, and there is no limit to how many you can create."; + +/* AppIconsView */ +"AppIconsView.title" = "App Icon"; diff --git a/AltStore/Views/Settings/AppIconsView.swift b/AltStore/Views/Settings/AppIconsView.swift new file mode 100644 index 00000000..74c51773 --- /dev/null +++ b/AltStore/Views/Settings/AppIconsView.swift @@ -0,0 +1,107 @@ +// +// AppIconsView.swift +// SideStore +// +// Created by naturecodevoid on 2/14/23. +// Copyright © 2023 SideStore. All rights reserved. +// + +import SwiftUI +import SFSafeSymbols + +struct Icon: Identifiable { + var id: String { assetName } + var displayName: String + let assetName: String +} + +struct SpecialIcon { + let assetName: String + let suffix: String? + let forceIndex: Int? +} + +struct AppIconsView: View { + private let specialIcons = [ + SpecialIcon(assetName: "Neon", suffix: "(Stable)", forceIndex: 0), + SpecialIcon(assetName: "Starburst", suffix: "(Beta)", forceIndex: 1), + SpecialIcon(assetName: "Steel", suffix: "(Nightly)", forceIndex: 2), + ] + private var icons: [Icon] = [] + + @State private var selectedIcon: String? = "" // this is just so the list row background changes when selecting a value, I couldn't get it to keep the selected icon name (for some reason it was always "", even when I set it to the selected icon asset name) + @State private var selectedIconAssetName: String // FIXME: use selectedIcon instead + + init() { + let bundleIcons = Bundle.main.object(forInfoDictionaryKey: "CFBundleIcons") as! [String: Any] + + let primaryIcon = bundleIcons["CFBundlePrimaryIcon"] as! [String: Any] + let primaryIconName = primaryIcon["CFBundleIconName"] as! String + icons.append(Icon(displayName: primaryIconName, assetName: primaryIconName)) // ensure primary icon is first + + for (key, _) in bundleIcons["CFBundleAlternateIcons"] as! [String: Any] { + icons.append(Icon(displayName: key, assetName: key)) + } + + // sort alphabetically + icons.sort { $0.assetName < $1.assetName } + + for specialIcon in specialIcons { + guard let icon = icons.enumerated().first(where: { $0.element.assetName == specialIcon.assetName }) else { continue } + + if let suffix = specialIcon.suffix { + icons[icon.offset].displayName += " " + suffix + } + + if let forceIndex = specialIcon.forceIndex { + let e = icons.remove(at: icon.offset) + icons.insert(e, at: forceIndex) + } + } + + if let alternateIconName = UIApplication.shared.alternateIconName { + selectedIconAssetName = icons.first { $0.assetName == alternateIconName }?.assetName ?? icons[0].assetName + } else { + selectedIconAssetName = icons[0].assetName + } + } + + var body: some View { + List(icons, selection: $selectedIcon) { icon in + // FIXME: Button gives errors for some reason + SwiftUI.Button(action: { + selectedIconAssetName = icon.assetName + // Pass nil for original icon + UIApplication.shared.setAlternateIconName(icon.assetName == icons[0].assetName ? nil : icon.assetName, completionHandler: { error in + if let error = error { + print("error when setting alternate app icon to \(icon.assetName): \(error.localizedDescription)") + } else { + print("successfully changed app icon to \(icon.assetName)") + } + }) + }) { + HStack(spacing: 20) { + // if we don't have an additional image asset for each icon, it will have low resolution + Image(uiImage: UIImage(named: icon.assetName + "-image") ?? UIImage()) + .resizable() + .renderingMode(.original) + .cornerRadius(12.6) // https://stackoverflow.com/a/10239376 + .frame(width: 72, height: 72) + Text(icon.displayName) + Spacer() + if selectedIconAssetName == icon.assetName { + Image(systemSymbol: .checkmark) + .foregroundColor(Color.blue) + } + } + }.foregroundColor(Color.white) + } + .navigationTitle(L10n.AppIconsView.title) + } +} + +struct AppIconsView_Previews: PreviewProvider { + static var previews: some View { + AppIconsView() + } +} diff --git a/AltStore/Views/Settings/SettingsView.swift b/AltStore/Views/Settings/SettingsView.swift index 97e1891d..84e4775d 100644 --- a/AltStore/Views/Settings/SettingsView.swift +++ b/AltStore/Views/Settings/SettingsView.swift @@ -33,7 +33,7 @@ struct SettingsView: View { @State var externalURLToShow: URL? - let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "" + let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown" var body: some View { List { @@ -150,6 +150,10 @@ struct SettingsView: View { } Section { + NavigationLink(L10n.AppIconsView.title) { + AppIconsView() + } + NavigationLink("Show Error Log") { ErrorLogView() }