diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/Contents.json b/Sora/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 99%
rename from Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/Contents.json
rename to Sora/Assets.xcassets/AppIcon.appiconset/Contents.json
index d5592ce..c7a15f9 100644
--- a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/Contents.json
+++ b/Sora/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -35,4 +35,4 @@
"author" : "xcode",
"version" : 1
}
-}
\ No newline at end of file
+}
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/darkmode.png b/Sora/Assets.xcassets/AppIcon.appiconset/darkmode.png
similarity index 100%
rename from Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/darkmode.png
rename to Sora/Assets.xcassets/AppIcon.appiconset/darkmode.png
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/lightmode.png b/Sora/Assets.xcassets/AppIcon.appiconset/lightmode.png
similarity index 100%
rename from Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/lightmode.png
rename to Sora/Assets.xcassets/AppIcon.appiconset/lightmode.png
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/tinting.png b/Sora/Assets.xcassets/AppIcon.appiconset/tinting.png
similarity index 100%
rename from Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/tinting.png
rename to Sora/Assets.xcassets/AppIcon.appiconset/tinting.png
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/Contents.json b/Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/Contents.json
deleted file mode 100644
index e6ad966..0000000
--- a/Sora/Assets.xcassets/AppIcons/AppIcon_Default.appiconset/Contents.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "images" : [
- {
- "filename" : "darkmode.png",
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
- },
- {
- "filename" : "lightmode.png",
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024",
- "unassigned" : true
- },
- {
- "filename" : "tinting.png",
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024",
- "unassigned" : true
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Default_Preview.imageset/Contents.json b/Sora/Assets.xcassets/AppIcons/AppIcon_Default_Preview.imageset/Contents.json
deleted file mode 100644
index b85e601..0000000
--- a/Sora/Assets.xcassets/AppIcons/AppIcon_Default_Preview.imageset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "images" : [
- {
- "filename" : "preview.png",
- "idiom" : "universal"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Default_Preview.imageset/preview.png b/Sora/Assets.xcassets/AppIcons/AppIcon_Default_Preview.imageset/preview.png
deleted file mode 100644
index 67ecac7..0000000
Binary files a/Sora/Assets.xcassets/AppIcons/AppIcon_Default_Preview.imageset/preview.png and /dev/null differ
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Original.appiconset/Contents.json b/Sora/Assets.xcassets/AppIcons/AppIcon_Original.appiconset/Contents.json
deleted file mode 100644
index 147bdb2..0000000
--- a/Sora/Assets.xcassets/AppIcons/AppIcon_Original.appiconset/Contents.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "images" : [
- {
- "filename" : "original.png",
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
\ No newline at end of file
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Original.appiconset/original.png b/Sora/Assets.xcassets/AppIcons/AppIcon_Original.appiconset/original.png
deleted file mode 100644
index 714cb39..0000000
Binary files a/Sora/Assets.xcassets/AppIcons/AppIcon_Original.appiconset/original.png and /dev/null differ
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Original_Preview.imageset/Contents.json b/Sora/Assets.xcassets/AppIcons/AppIcon_Original_Preview.imageset/Contents.json
deleted file mode 100644
index b85e601..0000000
--- a/Sora/Assets.xcassets/AppIcons/AppIcon_Original_Preview.imageset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "images" : [
- {
- "filename" : "preview.png",
- "idiom" : "universal"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Original_Preview.imageset/preview.png b/Sora/Assets.xcassets/AppIcons/AppIcon_Original_Preview.imageset/preview.png
deleted file mode 100644
index 714cb39..0000000
Binary files a/Sora/Assets.xcassets/AppIcons/AppIcon_Original_Preview.imageset/preview.png and /dev/null differ
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/darkmode.png b/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/darkmode.png
deleted file mode 100644
index d741516..0000000
Binary files a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/darkmode.png and /dev/null differ
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/lightmode.png b/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/lightmode.png
deleted file mode 100644
index caa9146..0000000
Binary files a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/lightmode.png and /dev/null differ
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/tinting.png b/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/tinting.png
deleted file mode 100644
index 92e0799..0000000
Binary files a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel.appiconset/tinting.png and /dev/null differ
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel_Preview.imageset/Contents.json b/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel_Preview.imageset/Contents.json
deleted file mode 100644
index b85e601..0000000
--- a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel_Preview.imageset/Contents.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "images" : [
- {
- "filename" : "preview.png",
- "idiom" : "universal"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel_Preview.imageset/preview.png b/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel_Preview.imageset/preview.png
deleted file mode 100644
index 7fbab5d..0000000
Binary files a/Sora/Assets.xcassets/AppIcons/AppIcon_Pixel_Preview.imageset/preview.png and /dev/null differ
diff --git a/Sora/Assets.xcassets/AppIcons/Contents.json b/Sora/Assets.xcassets/AppIcons/Contents.json
deleted file mode 100644
index 73c0059..0000000
--- a/Sora/Assets.xcassets/AppIcons/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/Sora/Info.plist b/Sora/Info.plist
index 7a90cc0..ba6c434 100644
--- a/Sora/Info.plist
+++ b/Sora/Info.plist
@@ -6,110 +6,6 @@
$(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleIcons
-
- CFBundleAlternateIcons
-
- AppIcon_CiroChrome
-
- CFBundleIconFiles
-
- AppIcon_CiroChrome
-
-
- AppIcon_CiroGold
-
- CFBundleIconFiles
-
- AppIcon_CiroGold
-
-
- AppIcon_CiroGoldThree
-
- CFBundleIconFiles
-
- AppIcon_CiroGoldThree
-
-
- AppIcon_CiroGoldTwo
-
- CFBundleIconFiles
-
- AppIcon_CiroGoldTwo
-
-
- AppIcon_CiroPink
-
- CFBundleIconFiles
-
- AppIcon_CiroPink
-
-
- AppIcon_CiroPurple
-
- CFBundleIconFiles
-
- AppIcon_CiroPurple
-
-
- AppIcon_CiroRed
-
- CFBundleIconFiles
-
- AppIcon_CiroRed
-
-
- AppIcon_CiroRoseGold
-
- CFBundleIconFiles
-
- AppIcon_CiroRoseGold
-
-
- AppIcon_CiroSilver
-
- CFBundleIconFiles
-
- AppIcon_CiroSilver
-
-
- AppIcon_CiroSilverTwo
-
- CFBundleIconFiles
-
- AppIcon_CiroSilverTwo
-
-
- AppIcon_CiroYellow
-
- CFBundleIconFiles
-
- AppIcon_CiroYellow
-
-
- AppIcon_Original
-
- CFBundleIconFiles
-
- AppIcon_Original
-
-
- AppIcon_Pixel
-
- CFBundleIconFiles
-
- AppIcon_Pixel
-
-
- AppIcon_SoraAlt
-
- CFBundleIconFiles
-
- AppIcon_SoraAlt
-
-
-
-
CFBundleURLTypes
diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewAlternateAppIconPicker.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewAlternateAppIconPicker.swift
deleted file mode 100644
index e0ba062..0000000
--- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewAlternateAppIconPicker.swift
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// SettingsViewAlternateAppIconPicker.swift
-// Sulfur
-//
-// Created by Dominic on 20.04.25.
-//
-
-import SwiftUI
-
-struct SettingsViewAlternateAppIconPicker: View {
- @Binding var isPresented: Bool
- @AppStorage("currentAppIcon") private var currentAppIcon = "Default"
-
- let icons: [(name: String, icon: String)] = [
- ("Default", "Default"),
- ("Original", "Original"),
- ("Pixel", "Pixel")
- ]
-
- var body: some View {
- VStack {
- Text("Select an App Icon")
- .font(.headline)
- .padding()
-
- ScrollView(.horizontal, showsIndicators: false) {
- HStack(spacing: 20) {
- ForEach(icons, id: \.name) { icon in
- VStack {
- Image("AppIcon_\(icon.icon)_Preview", bundle: .main)
- .resizable()
- .scaledToFit()
- .frame(width: 60, height: 60)
- .cornerRadius(10)
- .shadow(radius: 6)
- .padding()
- .background(
- currentAppIcon == icon.name ? Color.accentColor.opacity(0.3) : Color.clear
- )
- .cornerRadius(10)
- .accessibilityLabel("Alternative App Icon")
- Text(icon.name)
- .font(.caption)
- .foregroundColor(currentAppIcon == icon.name ? .accentColor : .primary)
- }
- .accessibilityAddTraits(.isButton)
- .onTapGesture {
- currentAppIcon = icon.name
- setAppIcon(named: icon.icon)
- }
- }
- }
- .padding()
- }
- Spacer()
- }
- }
-
- private func setAppIcon(named iconName: String) {
- if UIApplication.shared.supportsAlternateIcons {
- UIApplication.shared.setAlternateIconName(iconName == "Default" ? nil : "AppIcon_\(iconName)", completionHandler: { error in
- if let error = error {
- Logger.shared.log("Failed to set alternate icon: \(error.localizedDescription)", type: "Error")
- isPresented = false
- }
- })
- }
- }
-}
diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift
index c91bb09..331f3da 100644
--- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift
+++ b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift
@@ -157,13 +157,11 @@ struct SettingsViewGeneral: View {
@AppStorage("tmdbImageWidth") private var TMDBimageWidht: String = "original"
@AppStorage("mediaColumnsPortrait") private var mediaColumnsPortrait: Int = 2
@AppStorage("mediaColumnsLandscape") private var mediaColumnsLandscape: Int = 4
- @AppStorage("currentAppIcon") private var currentAppIcon = "Default"
private let metadataProvidersList = ["AniList", "TMDB"]
private let TMDBimageWidhtList = ["300", "500", "780", "1280", "original"]
private let sortOrderOptions = ["Ascending", "Descending"]
@EnvironmentObject var settings: Settings
- @State private var showAppIconPicker = false
var body: some View {
ScrollView {
@@ -182,28 +180,6 @@ struct SettingsViewGeneral: View {
},
selection: $settings.selectedAppearance
)
-
- VStack(spacing: 0) {
- HStack {
- Image(systemName: "app")
- .frame(width: 24, height: 24)
- .foregroundStyle(.primary)
-
- Text("App Icon")
- .foregroundStyle(.primary)
-
- Spacer()
-
- Button(action: {
- showAppIconPicker = true
- }) {
- Text(currentAppIcon)
- .foregroundStyle(.gray)
- }
- }
- .padding(.horizontal, 16)
- .padding(.vertical, 12)
- }
}
SettingsSection(
@@ -304,13 +280,5 @@ struct SettingsViewGeneral: View {
}
.navigationTitle("General")
.scrollViewBottomPadding()
- .sheet(isPresented: $showAppIconPicker) {
- if #available(iOS 16.0, *) {
- SettingsViewAlternateAppIconPicker(isPresented: $showAppIconPicker)
- .presentationDetents([.height(200)])
- } else {
- SettingsViewAlternateAppIconPicker(isPresented: $showAppIconPicker)
- }
- }
}
}
diff --git a/Sulfur.xcodeproj/project.pbxproj b/Sulfur.xcodeproj/project.pbxproj
index 57f1021..16bbe89 100644
--- a/Sulfur.xcodeproj/project.pbxproj
+++ b/Sulfur.xcodeproj/project.pbxproj
@@ -32,7 +32,6 @@
132AF1212D99951700A0140B /* JSController-Streams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132AF1202D99951700A0140B /* JSController-Streams.swift */; };
132AF1232D9995C300A0140B /* JSController-Details.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132AF1222D9995C300A0140B /* JSController-Details.swift */; };
132AF1252D9995F900A0140B /* JSController-Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132AF1242D9995F900A0140B /* JSController-Search.swift */; };
- 132FC5B32DE31DAE009A80F7 /* SettingsViewAlternateAppIconPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132FC5B22DE31DAD009A80F7 /* SettingsViewAlternateAppIconPicker.swift */; };
133D7C6E2D2BE2500075467E /* SoraApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133D7C6D2D2BE2500075467E /* SoraApp.swift */; };
133D7C702D2BE2500075467E /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133D7C6F2D2BE2500075467E /* ContentView.swift */; };
133D7C722D2BE2520075467E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 133D7C712D2BE2520075467E /* Assets.xcassets */; };
@@ -124,7 +123,6 @@
132AF1202D99951700A0140B /* JSController-Streams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "JSController-Streams.swift"; sourceTree = ""; };
132AF1222D9995C300A0140B /* JSController-Details.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "JSController-Details.swift"; sourceTree = ""; };
132AF1242D9995F900A0140B /* JSController-Search.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "JSController-Search.swift"; sourceTree = ""; };
- 132FC5B22DE31DAD009A80F7 /* SettingsViewAlternateAppIconPicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsViewAlternateAppIconPicker.swift; sourceTree = ""; };
133D7C6A2D2BE2500075467E /* Sulfur.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Sulfur.app; sourceTree = BUILT_PRODUCTS_DIR; };
133D7C6D2D2BE2500075467E /* SoraApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoraApp.swift; sourceTree = ""; };
133D7C6F2D2BE2500075467E /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; };
@@ -359,7 +357,6 @@
133D7C832D2BE2630075467E /* SettingsSubViews */ = {
isa = PBXGroup;
children = (
- 132FC5B22DE31DAD009A80F7 /* SettingsViewAlternateAppIconPicker.swift */,
1E9FF1D22D403E42008AC100 /* SettingsViewLoggerFilter.swift */,
1399FAD32D3AB38C00E97C31 /* SettingsViewLogger.swift */,
133D7C842D2BE2630075467E /* SettingsViewModule.swift */,
@@ -747,7 +744,6 @@
13EA2BD52D32D97400C1EBD7 /* CustomPlayer.swift in Sources */,
727220712DD642B100C2A4A2 /* JSController-StreamTypeDownload.swift in Sources */,
727220722DD642B100C2A4A2 /* JSController+MP4Download.swift in Sources */,
- 132FC5B32DE31DAE009A80F7 /* SettingsViewAlternateAppIconPicker.swift in Sources */,
0402DA132DE7B5EC003BB42C /* SearchStateView.swift in Sources */,
0402DA142DE7B5EC003BB42C /* SearchResultsGrid.swift in Sources */,
0402DA152DE7B5EC003BB42C /* SearchComponents.swift in Sources */,
@@ -893,8 +889,7 @@
133D7C792D2BE2520075467E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "AppIcon_Original AppIcon_Pixel";
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon_Default;
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
CODE_SIGN_ENTITLEMENTS = Sora/Sora.entitlements;
@@ -909,7 +904,6 @@
INFOPLIST_FILE = Sora/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Sora;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment";
- INFOPLIST_KEY_NSCameraUsageDescription = "Sora may requires access to your device's camera.";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -937,8 +931,7 @@
133D7C7A2D2BE2520075467E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "AppIcon_Original AppIcon_Pixel";
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon_Default;
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
CODE_SIGN_ENTITLEMENTS = Sora/Sora.entitlements;
@@ -953,7 +946,6 @@
INFOPLIST_FILE = Sora/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Sora;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment";
- INFOPLIST_KEY_NSCameraUsageDescription = "Sora may requires access to your device's camera.";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;