Post

Replies

Boosts

Views

Activity

CarPlay CPGridTemplate corrupt items
For some reason, Carplay 18.x works fine, however in under certain situations in our app, Carplay 26.x breaks. The expected grid layout should be : However, this is what we see in some cases when we update our templates. I have not been able to isolate the cause of this issue. Has anyone ever seen this happen on their CarPlay apps and discovered the cause? The data sets fed into the templates are identical, the difference is in some of the timing and update order...
1
0
208
3w
LLMs/AGENTS for legacy codebases
Hello there everyone. I've got numerous support projects using old school development. Things from Objective-C to RxSwift and UIKit. I've tried the LLM/Agents and they just destroy the codebase over time, so I have given up. The final straw was trying to get it to fix a POSTCODE validation issue which was using some novel ways to provide validation in place using RxSwift. Has anyone had any luck with these LLMs on Legacy codebases? Would love to hear tips.
0
0
74
3w
No longer able to add SSH package dependencies in Xcode 16
Latest version of Xcode 16.1. I have an existing package dependency which is sitting on a git@ssh.dev.azure.com account. So, now whenever I remove that package dependency, I can no longer add it within the Xcode UI. Just no possible way to add it or find it in the Search or Enter Package URL text field. How on earth are we meant to add SSH packages now? Anyone else have this issue? If so, have you found a work-around without having to manually edit the package dependencies in the project?
1
2
405
Jan ’25
navigationDestination + NavigationPath broken on iOS 17
Using the new navigationDestination and NavigationPath functions previously on iOS 16 everything has been working fine using a custom back button, which calls path.removeLast(). However, if we try this on iOS 17, the screen being removed flashes white. You can try this code as an example (NOTE THE WHITE FLASH ON REMOVE LAST): struct DetailView: View { @Binding var path: NavigationPath var body: some View { ZStack { Color.black VStack(alignment: .center) { Spacer() Button(action: { path.removeLast() }, label: { Text("BACK") }) Spacer() } } } } struct ParentView: View { @State var path: NavigationPath = .init() var body: some View { NavigationStack(path: $path) { ZStack { Color.red VStack(alignment: .center) { Spacer() Button(action: { path.append("TEST") }, label: { Text("FORWARD") }) Spacer() } } .navigationDestination(for: String.self) { _ in DetailView(path: $path) } } } } Any work arounds? Suggestions?
3
2
1.7k
Jun ’24
@Environment(\.dismiss) var dismiss - Infinite loop bug.
The following code works: struct SelectBatteryChemistryView: View {     @ObservedObject var model: SelectBatteryChemistryViewModel = .init()     @Environment(\.presentationMode) private var presentationMode     var body: some View {         VStack {             Spacer()             TitleText("BATTERY MODE")             SimpleModeSelectorView(                 selected: $model.batteryChemistry             )             .pickerStyle(.inline)             .frame(minHeight: 300)             PrimaryTitleButton(title: "SELECT") {                 if model.batteryChemistry == .user {                     model.customChemistryFlow = true                 } else {                     model.confirmBatterySettings()                 }             }             NavigationLink(                 destination: CustomBatteryChemistryView(),                 isActive: $model.customChemistryFlow             ) { EmptyView() }                 .isDetailLink(false)         }         .onReceive(model.$batterySettingsConfirmed) { batterySettingsConfirmed in             if batterySettingsConfirmed {                 //dismiss()             }         }         .onAppear() {             model.customChemistryFlow = false         }     } } The following code causes an infinite loop in the CustomBatteryChemistryView() initialiser. struct SelectBatteryChemistryView: View {     @ObservedObject var model: SelectBatteryChemistryViewModel = .init()     @Environment(\.dismiss) private var dismiss     var body: some View {         VStack {             Spacer()             TitleText("BATTERY MODE")             SimpleModeSelectorView(                 selected: $model.batteryChemistry             )             .pickerStyle(.inline)             .frame(minHeight: 300)             PrimaryTitleButton(title: "SELECT") {                 if model.batteryChemistry == .user {                     model.customChemistryFlow = true                 } else {                     model.confirmBatterySettings()                 }             }             NavigationLink(                 destination: CustomBatteryChemistryView(),                 isActive: $model.customChemistryFlow             ) { EmptyView() }                 .isDetailLink(false)         }         .onReceive(model.$batterySettingsConfirmed) { batterySettingsConfirmed in             if batterySettingsConfirmed {                 //dismiss()             }         }         .onAppear() {             model.customChemistryFlow = false         }     } } Adding the @Environment(.dismiss) object prevents the use of a navigation link. The program sits there with the stack infinitely calling the getter for the NavigationLink. It looks like an infinite loop on the accessor due to some strangeness related to the magic of the Dismiss environment object. How do we pass this on to the Dev team at Apple?
9
9
3.8k
Jan ’24
NavigationPath and navigationDestination with custom back button fails on iOS 17 BETA
Using the new navigationDestination and NavigationPath functions previously on iOS 16 everything has been working fine using a custom back button, which calls path.removeLast(). However, if we try this on iOS 17 BETA 5, the screen being removed flashes white. Also, how can I raise this as a bug with Apple, so they can fix it before the release of iOS 17. You can try this code as an example (NOTE THE WHITE FLASH ON REMOVE LAST): struct DetailView: View { @Binding var path: NavigationPath var body: some View { ZStack { Color.black VStack(alignment: .center) { Spacer() Button(action: { path.removeLast() }, label: { Text("BACK") }) Spacer() } } } } struct ParentView: View { @State var path: NavigationPath = .init() var body: some View { NavigationStack(path: $path) { ZStack { Color.red VStack(alignment: .center) { Spacer() Button(action: { path.append("TEST") }, label: { Text("FORWARD") }) Spacer() } } .navigationDestination(for: String.self) { _ in DetailView(path: $path) } } } }
6
1
1.7k
Oct ’23
CarPlay CPGridTemplate corrupt items
For some reason, Carplay 18.x works fine, however in under certain situations in our app, Carplay 26.x breaks. The expected grid layout should be : However, this is what we see in some cases when we update our templates. I have not been able to isolate the cause of this issue. Has anyone ever seen this happen on their CarPlay apps and discovered the cause? The data sets fed into the templates are identical, the difference is in some of the timing and update order...
Replies
1
Boosts
0
Views
208
Activity
3w
LLMs/AGENTS for legacy codebases
Hello there everyone. I've got numerous support projects using old school development. Things from Objective-C to RxSwift and UIKit. I've tried the LLM/Agents and they just destroy the codebase over time, so I have given up. The final straw was trying to get it to fix a POSTCODE validation issue which was using some novel ways to provide validation in place using RxSwift. Has anyone had any luck with these LLMs on Legacy codebases? Would love to hear tips.
Replies
0
Boosts
0
Views
74
Activity
3w
info.plist - UIDesignRequiresCompatibility makes no difference to UI
Hi all. I have tried using UIDesignRequiresCompatibility YES & NO for an application. Running on iOS 26 BETA 5 makes no difference to the UI. Running on Simulator MacOSS 26 BETA 5 makes no difference to the UI. Anyone had luck with this info plist setting?
Replies
2
Boosts
0
Views
362
Activity
Aug ’25
No longer able to add SSH package dependencies in Xcode 16
Latest version of Xcode 16.1. I have an existing package dependency which is sitting on a git@ssh.dev.azure.com account. So, now whenever I remove that package dependency, I can no longer add it within the Xcode UI. Just no possible way to add it or find it in the Search or Enter Package URL text field. How on earth are we meant to add SSH packages now? Anyone else have this issue? If so, have you found a work-around without having to manually edit the package dependencies in the project?
Replies
1
Boosts
2
Views
405
Activity
Jan ’25
navigationDestination + NavigationPath broken on iOS 17
Using the new navigationDestination and NavigationPath functions previously on iOS 16 everything has been working fine using a custom back button, which calls path.removeLast(). However, if we try this on iOS 17, the screen being removed flashes white. You can try this code as an example (NOTE THE WHITE FLASH ON REMOVE LAST): struct DetailView: View { @Binding var path: NavigationPath var body: some View { ZStack { Color.black VStack(alignment: .center) { Spacer() Button(action: { path.removeLast() }, label: { Text("BACK") }) Spacer() } } } } struct ParentView: View { @State var path: NavigationPath = .init() var body: some View { NavigationStack(path: $path) { ZStack { Color.red VStack(alignment: .center) { Spacer() Button(action: { path.append("TEST") }, label: { Text("FORWARD") }) Spacer() } } .navigationDestination(for: String.self) { _ in DetailView(path: $path) } } } } Any work arounds? Suggestions?
Replies
3
Boosts
2
Views
1.7k
Activity
Jun ’24
@Environment(\.dismiss) var dismiss - Infinite loop bug.
The following code works: struct SelectBatteryChemistryView: View {     @ObservedObject var model: SelectBatteryChemistryViewModel = .init()     @Environment(\.presentationMode) private var presentationMode     var body: some View {         VStack {             Spacer()             TitleText("BATTERY MODE")             SimpleModeSelectorView(                 selected: $model.batteryChemistry             )             .pickerStyle(.inline)             .frame(minHeight: 300)             PrimaryTitleButton(title: "SELECT") {                 if model.batteryChemistry == .user {                     model.customChemistryFlow = true                 } else {                     model.confirmBatterySettings()                 }             }             NavigationLink(                 destination: CustomBatteryChemistryView(),                 isActive: $model.customChemistryFlow             ) { EmptyView() }                 .isDetailLink(false)         }         .onReceive(model.$batterySettingsConfirmed) { batterySettingsConfirmed in             if batterySettingsConfirmed {                 //dismiss()             }         }         .onAppear() {             model.customChemistryFlow = false         }     } } The following code causes an infinite loop in the CustomBatteryChemistryView() initialiser. struct SelectBatteryChemistryView: View {     @ObservedObject var model: SelectBatteryChemistryViewModel = .init()     @Environment(\.dismiss) private var dismiss     var body: some View {         VStack {             Spacer()             TitleText("BATTERY MODE")             SimpleModeSelectorView(                 selected: $model.batteryChemistry             )             .pickerStyle(.inline)             .frame(minHeight: 300)             PrimaryTitleButton(title: "SELECT") {                 if model.batteryChemistry == .user {                     model.customChemistryFlow = true                 } else {                     model.confirmBatterySettings()                 }             }             NavigationLink(                 destination: CustomBatteryChemistryView(),                 isActive: $model.customChemistryFlow             ) { EmptyView() }                 .isDetailLink(false)         }         .onReceive(model.$batterySettingsConfirmed) { batterySettingsConfirmed in             if batterySettingsConfirmed {                 //dismiss()             }         }         .onAppear() {             model.customChemistryFlow = false         }     } } Adding the @Environment(.dismiss) object prevents the use of a navigation link. The program sits there with the stack infinitely calling the getter for the NavigationLink. It looks like an infinite loop on the accessor due to some strangeness related to the magic of the Dismiss environment object. How do we pass this on to the Dev team at Apple?
Replies
9
Boosts
9
Views
3.8k
Activity
Jan ’24
NavigationPath and navigationDestination with custom back button fails on iOS 17 BETA
Using the new navigationDestination and NavigationPath functions previously on iOS 16 everything has been working fine using a custom back button, which calls path.removeLast(). However, if we try this on iOS 17 BETA 5, the screen being removed flashes white. Also, how can I raise this as a bug with Apple, so they can fix it before the release of iOS 17. You can try this code as an example (NOTE THE WHITE FLASH ON REMOVE LAST): struct DetailView: View { @Binding var path: NavigationPath var body: some View { ZStack { Color.black VStack(alignment: .center) { Spacer() Button(action: { path.removeLast() }, label: { Text("BACK") }) Spacer() } } } } struct ParentView: View { @State var path: NavigationPath = .init() var body: some View { NavigationStack(path: $path) { ZStack { Color.red VStack(alignment: .center) { Spacer() Button(action: { path.append("TEST") }, label: { Text("FORWARD") }) Spacer() } } .navigationDestination(for: String.self) { _ in DetailView(path: $path) } } } }
Replies
6
Boosts
1
Views
1.7k
Activity
Oct ’23