fix appstore connect whining

This commit is contained in:
neon443
2025-11-10 09:46:03 +00:00
parent b9d65002bc
commit c1e65b0826
5 changed files with 46 additions and 38 deletions

View File

@@ -1092,10 +1092,8 @@
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
INFOPLIST_KEY_NSFaceIDUsageDescription = "ShhShell uses Face ID to verify your identity"; INFOPLIST_KEY_NSFaceIDUsageDescription = "ShhShell uses Face ID to verify your identity";
INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Needed to communicate with SSH Servers"; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Needed to communicate with SSH Servers";
INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Required to keep SSH connections alive, if enabled"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_NSLocationUsageDescription = "Required to keep SSH connections alive, if enabled"; INFOPLIST_KEY_NSLocationUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -1136,10 +1134,8 @@
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
INFOPLIST_KEY_NSFaceIDUsageDescription = "ShhShell uses Face ID to verify your identity"; INFOPLIST_KEY_NSFaceIDUsageDescription = "ShhShell uses Face ID to verify your identity";
INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Needed to communicate with SSH Servers"; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Needed to communicate with SSH Servers";
INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Required to keep SSH connections alive, if enabled"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_NSLocationUsageDescription = "Required to keep SSH connections alive, if enabled"; INFOPLIST_KEY_NSLocationUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Required to keep SSH connections alive, if enabled";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES;

View File

@@ -23,8 +23,6 @@
<string>JetBrainsMonoNerdFontMono-BoldItalic.ttf</string> <string>JetBrainsMonoNerdFontMono-BoldItalic.ttf</string>
</array> </array>
<key>UIBackgroundModes</key> <key>UIBackgroundModes</key>
<array> <array/>
<string>location</string>
</array>
</dict> </dict>
</plist> </plist>

View File

@@ -102,4 +102,22 @@ enum AppIcon: Codable, CaseIterable, Equatable, CustomStringConvertible {
return "Blueprint" return "Blueprint"
} }
} }
var isiOS26: Bool {
switch self {
case .regular:
return true
case .beta, .betaBlueprint:
return false
}
}
var radius: CGFloat {
switch isiOS26 {
case true, false:
return 17.578125
// case false:
// return 16.5
}
}
} }

View File

@@ -38,7 +38,7 @@ struct SettingsView: View {
hostsManager.selectedTheme.background.suiColor.opacity(0.7) hostsManager.selectedTheme.background.suiColor.opacity(0.7)
.ignoresSafeArea(.all) .ignoresSafeArea(.all)
List { List {
Section("Terminal") { Section("Display") {
VStack(alignment: .leading) { VStack(alignment: .leading) {
HStack { HStack {
Label("Scrollback", systemImage: "scroll") Label("Scrollback", systemImage: "scroll")
@@ -52,7 +52,21 @@ struct SettingsView: View {
step: 250 step: 250
) )
} }
Toggle("Keep Display Awake", systemImage: "cup.and.saucer.fill", isOn: $hostsManager.settings.caffeinate)
if #unavailable(iOS 17), hostsManager.settings.filter == .crt {
Label("iOS 17 Required", systemImage: "exclamationmark.triangle.fill")
.foregroundStyle(.yellow)
.transition(.opacity)
} }
Picker("", selection: $hostsManager.settings.filter) {
ForEach(TerminalFilter.allCases, id: \.self) { filter in
Text(filter.description).tag(filter)
}
}
.pickerStyle(.inline)
.labelsHidden()
}
.animation(.spring, value: hostsManager.settings.filter)
Section("Cursor") { Section("Cursor") {
HStack(spacing: 20) { HStack(spacing: 20) {
@@ -154,51 +168,34 @@ struct SettingsView: View {
} }
} }
Section("Keepalive") { // Section("Keepalive") {
Toggle("Location Persistence", systemImage: "location.fill", isOn: $hostsManager.settings.locationPersist) // Toggle("Location Persistence", systemImage: "location.fill", isOn: $hostsManager.settings.locationPersist)
.onChange(of: hostsManager.settings.locationPersist) { _ in // .onChange(of: hostsManager.settings.locationPersist) { _ in
if hostsManager.settings.locationPersist && !Backgrounder.shared.checkPermsStatus() { // if hostsManager.settings.locationPersist && !Backgrounder.shared.checkPermsStatus() {
Backgrounder.shared.requestPerms() // Backgrounder.shared.requestPerms()
} // }
} // }
Toggle("Keep Display Awake", systemImage: "cup.and.saucer.fill", isOn: $hostsManager.settings.caffeinate) // }
}
Section("Bell Feedback") { Section("Bell Feedback") {
Toggle("Sound", systemImage: "bell.and.waves.left.and.right", isOn: $hostsManager.settings.bellSound) Toggle("Sound", systemImage: "bell.and.waves.left.and.right", isOn: $hostsManager.settings.bellSound)
Toggle("Haptic",systemImage: "iphone.radiowaves.left.and.right", isOn: $hostsManager.settings.bellHaptic) Toggle("Haptic",systemImage: "iphone.radiowaves.left.and.right", isOn: $hostsManager.settings.bellHaptic)
} }
Section("Terminal Filter") {
if #unavailable(iOS 17), hostsManager.settings.filter == .crt {
Label("iOS 17 Required", systemImage: "exclamationmark.triangle.fill")
.foregroundStyle(.yellow)
.transition(.opacity)
}
Picker("", selection: $hostsManager.settings.filter) {
ForEach(TerminalFilter.allCases, id: \.self) { filter in
Text(filter.description).tag(filter)
}
}
.pickerStyle(.inline)
.labelsHidden()
}
.animation(.spring, value: hostsManager.settings.filter)
Section("App Icon") { Section("App Icon") {
ScrollView(.horizontal) { ScrollView(.horizontal) {
HStack { HStack {
ForEach(AppIcon.allCases, id: \.self) { icon in ForEach(AppIcon.allCases, id: \.self) { icon in
let isSelected = hostsManager.settings.appIcon == icon let isSelected = hostsManager.settings.appIcon == icon
ZStack(alignment: .top) { ZStack(alignment: .top) {
RoundedRectangle(cornerRadius: 21.5) RoundedRectangle(cornerRadius: icon.radius + 5)
.foregroundStyle(.gray.opacity(0.5)) .foregroundStyle(.gray.opacity(0.5))
.opacity(isSelected ? 1 : 0) .opacity(isSelected ? 1 : 0)
VStack(spacing: 0) { VStack(spacing: 0) {
icon.image icon.image
.resizable().scaledToFit() .resizable().scaledToFit()
.clipShape(RoundedRectangle(cornerRadius: 16.5)) .frame(width: 85, height: 85)
.clipShape(RoundedRectangle(cornerRadius: icon.radius))
.padding(5) .padding(5)
Text(icon.description).tag(icon) Text(icon.description).tag(icon)
.font(.caption) .font(.caption)
@@ -207,7 +204,6 @@ struct SettingsView: View {
.multilineTextAlignment(.center) .multilineTextAlignment(.center)
} }
} }
.frame(maxWidth: 85, maxHeight: 110)
.onTapGesture { .onTapGesture {
withAnimation { withAnimation {
hostsManager.settings.appIcon = icon hostsManager.settings.appIcon = icon

View File

@@ -34,7 +34,7 @@ struct AddSnippetView: View {
TextEditor(text: $content) TextEditor(text: $content)
.autocorrectionDisabled() .autocorrectionDisabled()
.textInputAutocapitalization(.never) .textInputAutocapitalization(.never)
.background(.black) // .background(.black)
.clipShape(RoundedRectangle(cornerRadius: 5)) .clipShape(RoundedRectangle(cornerRadius: 5))
.padding(.bottom) .padding(.bottom)
.frame(minHeight: 50) .frame(minHeight: 50)