Post

Replies

Boosts

Views

Activity

How to fix "contains disallowed nested bundles" and "contains disallowed file 'Frameworks'" errors
Hi,My iOS Swift app contains a in-house built framework (A), which is also using Swift. This framework includes 2 in-house built frameworks (B and C) using Objective-C."Embedded Content Contains Swift Code" is set to YES for the app and to NO for the A, B and C frameworks.When I try to submit the app to iTC, I get these errors:ERROR ITMS-90205: "Invalid Bundle. The bundle at 'yourapp.app/Frameworks/A.framework' contains disallowed nested bundles."...ERROR ITMS-90206: "Invalid Bundle. The bundle at 'yourapp.app/Frameworks/A.framework' contains disallowed file 'Frameworks'."...How can I fix those?
9
0
43k
May ’22
SwiftUI window aspect ratio
Is there a way to force a window to resize according to an aspect ratio? This is possible in AppKit via the NSWindow.contentAspectRatio property but I cannot find something similar for SwiftUI. Basically, I want the window to maintain the aspect ratio of its contents.
4
2
2.6k
Jun ’23
.refreshable on macOS?
Is .refreshable supposed to do anything on macOS? Works fine on iOS and iPadOS but it's not triggered on macOS. It's available since macOS 12 but the documentation doesn't mention anything about that. https://developer.apple.com/documentation/swiftui/view/refreshable(action:)
2
1
1.1k
Mar ’24
Swift compiler crash with Xcode 16 beta 5
This simple project just makes the Swift compiler crash in init(comparator: KeyPathComparator<RemoteComputer>): import SwiftUI struct ContentView: View { var body: some View { VStack { Image(systemName: "globe") .imageScale(.large) .foregroundStyle(.tint) Text("Hello, world!") } .padding() } } enum CSItemOrderType: Int, Codable, CaseIterable, CustomStringConvertible { case readableName case lastConnectionDate case numberOfConnections var description: String { switch self { case .readableName: return "STR_NAME" case .lastConnectionDate: return "STR_LAST_CONN_DATE" case .numberOfConnections: return "STR_ORDER_MOST_CONNECTED" } } } struct CSItemOrder: Codable { static let allCases = [CSItemOrder(type: .readableName), CSItemOrder(type: .lastConnectionDate, order: .reverse), CSItemOrder(type: .numberOfConnections, order: .reverse)] static let allSortOrders = [KeyPathComparator(\RemoteComputer.readableName), KeyPathComparator(\RemoteComputer.lastConnectionDate), KeyPathComparator(\RemoteComputer.numberOfConnections)] let type: CSItemOrderType var order: SortOrder var comparator: KeyPathComparator<RemoteComputer> { switch type { case .readableName: return KeyPathComparator(\RemoteComputer.readableName, order: order) case .lastConnectionDate: return KeyPathComparator(\RemoteComputer.lastConnectionDate, order: order) case .numberOfConnections: return KeyPathComparator(\RemoteComputer.numberOfConnections, order: order) } } init(type: CSItemOrderType, order: SortOrder = .forward) { self.type = type self.order = order } init(comparator: KeyPathComparator<RemoteComputer>) throws { switch comparator.keyPath { case \RemoteComputer.readableName: self.init(type: .readableName, order: comparator.order) case \RemoteComputer.lastConnectionDate: self.init(type: .lastConnectionDate, order: comparator.order) case \RemoteComputer.numberOfConnections: self.init(type: .numberOfConnections, order: comparator.order) default: print("Unsupported keyPath: \(comparator.keyPath)") throw ItemOrderError.unsupportedKeyPath } } } struct RemoteComputer: Codable, Hashable, Identifiable { let id: Int let name: String let hostname: String? let localIpAddress: String? let vncPort: Int let sshPort: Int let publicIpAddress: String? let publicPort: Int let macAddress: String let scVersion: String let manualMode: Int let uuid: String let lastMappingStatus: String? let isAwake: Bool let unregistered: Bool let osVersion: String? let lastUpdate: Date let remoteAddress: String? let lastKeyboardLocale: String? let macSystemShortcuts: [String: [Int32]]? var readableName: String { return name.removingPercentEncoding ?? name } var lastConnectionDate: Date { return Date.now } var unwrappedPublicIpAddress: String { return publicIpAddress ?? NSLocalizedString("STR_NOT_AVAILABLE", comment: "") } var numberOfConnections: Int { return 0 } } enum ItemOrderError: Error { case unsupportedKeyPath } This code works fine in previous betas or Xcode 15.
4
1
1k
Aug ’24
Product.SubscriptionInfo.Status is empty despite having valid subscription.
I don't know if this is a iOS 18.1 beta bug or some StoreKit server issues but Product.SubscriptionInfo.Status is returning an empty array in production even if the user has a valid subscription that is months away from expiring or renewing. I myself ran into this issue this morning but of course everything is fine in development mode so that makes it quite challenging to debug. Anyone else has this issue?
2
1
619
Oct ’24
Preventing animation glitch when dismissing a Menu with glassEffect
Hi everyone, I’m running into a strange animation glitch when using a Menu inside a glassEffect container. Here’s a minimal example: import SwiftUI struct ContentView: View { @Namespace private var namespace var body: some View { ZStack { Image(.background) .resizable() .frame(maxWidth: .infinity, maxHeight: .infinity) .ignoresSafeArea() GlassEffectContainer { HStack { Button("b1") {} Button("b2") {} Button("b3") {} Button("b4") {} Button("b5") {} Menu { Button("t1") { } Button("t2") { } Button("t3") { } Button("t4") { } Button("t5") { } } label: { Text("Menu") } } } .padding(.horizontal) .frame(height: 50) .glassEffect() } } } What happens: The bar looks fine initially: When you open the Menu, the entire bar morphs into the menu: When dismissing, the bar briefly animates into a solid rectangle before reapplying the glass effect: Questions: Is there a way to prevent that brief rectangle animation when dismissing the menu? If not, is it possible to avoid the morphing altogether and have the menu simply overlay on top of the bar instead of replacing it? Any ideas or workarounds would be greatly appreciated!
1
1
407
Sep ’25
Unable to Locate Pending Terms & Conditions in App Store Connect
Hi, For the past week, I’ve been receiving the following warning when performing a sales figures sync through AppFigures: “[Apple ID] has new terms to agree to in App Store Connect. We will try to continue importing but some data may not be available. Please log in to your App Store Connect account and accept the Terms & Conditions.” However, when I log in to App Store Connect and review the Agreements, Tax, and Banking section, there are no pending agreements or new terms requiring acceptance. All agreements appear to be active and in effect. Because the warning persists, I’m wondering whether there may be a backend agreement or updated term that is not properly surfacing in the interface. While inspecting the page, I also noticed the following console warnings on appstoreconnect.apple.com: tb-alertbox--warn ng-isolate-scope is not valid I’m not sure whether this is related, but I wanted to mention it in case it could be preventing a required agreement notice from displaying. Thank you for your assistance.
1
1
122
Mar ’26
iOS: List selection is reset to nil when app is sent to background
For some reason, a List will reset its selection to nil when the app is in the background. Steps to reproduce the issue: Run attached sample project Once the app has launched, select a name in the sidebar Move the app to the background Wait a few seconds Bring back the app to the foreground Expected result: The list selection should still be valid Actual result: The list selection is set to nil Notes: I’m using a StateObject, which should be the way to ensure that data isn’t regenerated when views are rendered. Is this a bug or something else needs to be taken care of? class AppModel: ObservableObject {     @Published var selectedPerson: Person? } @main struct NilListSelectionApp: App {     @StateObject var appModel = AppModel()     var body: some Scene {         WindowGroup {             ContentView()                 .environmentObject(appModel)         }     } } struct Person: Identifiable, Hashable {     let id: UUID     let firstname: String     init(firstname: String) {         id = UUID()         self.firstname = firstname     } } struct ContentView: View {     @EnvironmentObject private var appModel: AppModel     var body: some View {         NavigationSplitView {             SidebarView()         } detail: {             PersonView(person: appModel.selectedPerson)         }     } } struct SidebarView: View {     @EnvironmentObject private var appModel: AppModel     private let persons = [Person(firstname: "Joe"), Person(firstname: "Jane")]     var body: some View {         List(persons, id:\.self, selection: $appModel.selectedPerson) { person in             Text(person.firstname).tag(person)         }         .listStyle(.sidebar)     } } struct PersonView: View {     let person: Person?     var body: some View {         if let person {             Text(person.firstname)         }         else {             Text("No Selection")         }     } }
10
2
2.9k
Jul ’23
Allow custom tap gesture in List but maintain default selection gesture
I'm trying to create a List that allows multiple selection. Each row can be edited but the issue is that since there's a tap gesture on the Text element, the list is unable to select the item. Here's some code: import SwiftUI struct Person: Identifiable { let id: UUID let name: String init(_ name: String) { self.id = UUID() self.name = name } } struct ContentView: View { @State private var persons = [Person("Peter"), Person("Jack"), Person("Sophia"), Person("Helen")] @State private var selectedPersons = Set<Person.ID>() var body: some View { VStack { List(selection: $selectedPersons) { ForEach(persons) { person in PersonView(person: person, selection: $selectedPersons) { newValue in // ... } } } } .padding() } } struct PersonView: View { var person: Person @Binding var selection: Set<Person.ID> var onCommit: (String) -> Void = { newValue in } @State private var isEditing = false @State private var newValue = "" @FocusState private var isInputActive: Bool var body: some View { if isEditing { TextField("", text: $newValue, onCommit: { onCommit(newValue) isEditing = false }) .focused($isInputActive) .labelsHidden() } else { Text(person.name) .onTapGesture { if selection.contains(person.id), selection.count == 1 { newValue = person.name isEditing = true isInputActive = true } } } } } Right now, you need to tap on the row anywhere but on the text to select it. Then, if you tap on the text it'll go in edit mode. Is there a way to let the list do its selection? I tried wrapping the tap gesture in simultaneousGesture but that didn't work. Thanks!
3
2
2.0k
Feb ’25
iOS 17b6: Simultaneous accesses to ..., but modification requires exclusive access crash using Observation and SwiftUI
Since iOS/iPadOS beta 6, I get a crash just by simply selecting an item in the sidebar of a navigation view. The selected item is part of an app mode, with conforms to the Observation protocol: import SwiftUI import Observation @main struct MREAApp: App { @State private var appModel = AppModel.shared var body: some Scene { WindowGroup { ContentView() .environment(appModel) } } } @Observable class AppModel { static var shared = AppModel() var selectedFolder: Folder? = nil } struct Folder: Hashable, Identifiable { let id = UUID() let name: String } struct ContentView: View { @Environment(AppModel.self) private var appModel var folders = [Folder(name: "Recents"), Folder(name: "Deleted"), Folder(name: "Custom")] var body: some View { NavigationSplitView { SidebarView(appModel: appModel, folders: folders) } detail: { if let folder = appModel.selectedFolder { Text(folder.name) } else { Text("No selection") } } } } struct SidebarView: View { @Bindable var appModel: AppModel var folders: [Folder] var body: some View { List(selection: $appModel.selectedFolder) { ForEach(folders, id: \.self) { folder in NavigationLink(value: folder) { Text(folder.name) } } } } } To reproduce the bug, just tap on one of the item. Oddly enough, this works fine in the Simulator. macOS 14 beta 5 is not affected either. Apple folks: FB12981860
16
2
4.2k
Oct ’23
Cannot redeem offer codes on Mac App Store, works fine on App Store.
It appears there's an issue with the Mac App Store's ability to process offer codes, unlike its iOS counterpart, which handles them seamlessly. Users attempting to redeem a code on their Mac are encountering a "Cannot redeem code. Try another code" error. Considering the Mac App Store's long history, having been introduced nearly 13 years ago, it's high time for it to align with the iOS App Store's functionality. While it's close to 80% there, addressing these lingering issues would greatly improve the user experience. FB13463658
2
3
1.2k
Jan ’25
SwiftUI toolbar with IDs crash since macOS 15
I understand this is a known issue, but it’s truly unacceptable that it remains unresolved. Allowing users to customize toolbars is a fundamental macOS feature, and it has been broken since the release of macOS 15. How is it possible that this issue persists even in macOS 15.3 beta (24D5040f)? FB15513599 import SwiftUI struct ContentView: View { @State private var showEditItem = false var body: some View { VStack { VStack { Text("Instructions to reproduce the crash") .font(.title) .padding() Text(""" 1. Click on "Toggle Item" 2. In the menu go to File > New Window 3. In new window, click on "Toggle Item" """) } .padding() Button { showEditItem.toggle() } label: { Text("Toggle Item") } } .padding() .toolbar(id: "main") { ToolbarItem(id: "new") { Button { } label: { Text("New…") } } if showEditItem { ToolbarItem(id: "edit") { Button { } label: { Text("Edit…") } } } } } }
7
3
723
Mar ’26
How to know when an app or WindowGroup is in the background?
I'm unable to figure out how to know when my app no longer has focus. ScenePhase will only change when the WindowGroup gets created or closed. UIApplication.didBecomeActive and UIApplication.didEnterBackgroundNotification are not called either when say you move focus to Safari. What's the trick?
Replies
2
Boosts
0
Views
1.3k
Activity
May ’24
How to fix "contains disallowed nested bundles" and "contains disallowed file 'Frameworks'" errors
Hi,My iOS Swift app contains a in-house built framework (A), which is also using Swift. This framework includes 2 in-house built frameworks (B and C) using Objective-C."Embedded Content Contains Swift Code" is set to YES for the app and to NO for the A, B and C frameworks.When I try to submit the app to iTC, I get these errors:ERROR ITMS-90205: "Invalid Bundle. The bundle at 'yourapp.app/Frameworks/A.framework' contains disallowed nested bundles."...ERROR ITMS-90206: "Invalid Bundle. The bundle at 'yourapp.app/Frameworks/A.framework' contains disallowed file 'Frameworks'."...How can I fix those?
Replies
9
Boosts
0
Views
43k
Activity
May ’22
SwiftUI window aspect ratio
Is there a way to force a window to resize according to an aspect ratio? This is possible in AppKit via the NSWindow.contentAspectRatio property but I cannot find something similar for SwiftUI. Basically, I want the window to maintain the aspect ratio of its contents.
Replies
4
Boosts
2
Views
2.6k
Activity
Jun ’23
.refreshable on macOS?
Is .refreshable supposed to do anything on macOS? Works fine on iOS and iPadOS but it's not triggered on macOS. It's available since macOS 12 but the documentation doesn't mention anything about that. https://developer.apple.com/documentation/swiftui/view/refreshable(action:)
Replies
2
Boosts
1
Views
1.1k
Activity
Mar ’24
Sections in SwiftUI Tables?
Is it possible to have sections in a SwiftUI table? I cannot find any documentation or examples that show that it is.
Replies
3
Boosts
1
Views
1.8k
Activity
Oct ’23
Swift compiler crash with Xcode 16 beta 5
This simple project just makes the Swift compiler crash in init(comparator: KeyPathComparator<RemoteComputer>): import SwiftUI struct ContentView: View { var body: some View { VStack { Image(systemName: "globe") .imageScale(.large) .foregroundStyle(.tint) Text("Hello, world!") } .padding() } } enum CSItemOrderType: Int, Codable, CaseIterable, CustomStringConvertible { case readableName case lastConnectionDate case numberOfConnections var description: String { switch self { case .readableName: return "STR_NAME" case .lastConnectionDate: return "STR_LAST_CONN_DATE" case .numberOfConnections: return "STR_ORDER_MOST_CONNECTED" } } } struct CSItemOrder: Codable { static let allCases = [CSItemOrder(type: .readableName), CSItemOrder(type: .lastConnectionDate, order: .reverse), CSItemOrder(type: .numberOfConnections, order: .reverse)] static let allSortOrders = [KeyPathComparator(\RemoteComputer.readableName), KeyPathComparator(\RemoteComputer.lastConnectionDate), KeyPathComparator(\RemoteComputer.numberOfConnections)] let type: CSItemOrderType var order: SortOrder var comparator: KeyPathComparator<RemoteComputer> { switch type { case .readableName: return KeyPathComparator(\RemoteComputer.readableName, order: order) case .lastConnectionDate: return KeyPathComparator(\RemoteComputer.lastConnectionDate, order: order) case .numberOfConnections: return KeyPathComparator(\RemoteComputer.numberOfConnections, order: order) } } init(type: CSItemOrderType, order: SortOrder = .forward) { self.type = type self.order = order } init(comparator: KeyPathComparator<RemoteComputer>) throws { switch comparator.keyPath { case \RemoteComputer.readableName: self.init(type: .readableName, order: comparator.order) case \RemoteComputer.lastConnectionDate: self.init(type: .lastConnectionDate, order: comparator.order) case \RemoteComputer.numberOfConnections: self.init(type: .numberOfConnections, order: comparator.order) default: print("Unsupported keyPath: \(comparator.keyPath)") throw ItemOrderError.unsupportedKeyPath } } } struct RemoteComputer: Codable, Hashable, Identifiable { let id: Int let name: String let hostname: String? let localIpAddress: String? let vncPort: Int let sshPort: Int let publicIpAddress: String? let publicPort: Int let macAddress: String let scVersion: String let manualMode: Int let uuid: String let lastMappingStatus: String? let isAwake: Bool let unregistered: Bool let osVersion: String? let lastUpdate: Date let remoteAddress: String? let lastKeyboardLocale: String? let macSystemShortcuts: [String: [Int32]]? var readableName: String { return name.removingPercentEncoding ?? name } var lastConnectionDate: Date { return Date.now } var unwrappedPublicIpAddress: String { return publicIpAddress ?? NSLocalizedString("STR_NOT_AVAILABLE", comment: "") } var numberOfConnections: Int { return 0 } } enum ItemOrderError: Error { case unsupportedKeyPath } This code works fine in previous betas or Xcode 15.
Replies
4
Boosts
1
Views
1k
Activity
Aug ’24
Product.SubscriptionInfo.Status is empty despite having valid subscription.
I don't know if this is a iOS 18.1 beta bug or some StoreKit server issues but Product.SubscriptionInfo.Status is returning an empty array in production even if the user has a valid subscription that is months away from expiring or renewing. I myself ran into this issue this morning but of course everything is fine in development mode so that makes it quite challenging to debug. Anyone else has this issue?
Replies
2
Boosts
1
Views
619
Activity
Oct ’24
Preventing animation glitch when dismissing a Menu with glassEffect
Hi everyone, I’m running into a strange animation glitch when using a Menu inside a glassEffect container. Here’s a minimal example: import SwiftUI struct ContentView: View { @Namespace private var namespace var body: some View { ZStack { Image(.background) .resizable() .frame(maxWidth: .infinity, maxHeight: .infinity) .ignoresSafeArea() GlassEffectContainer { HStack { Button("b1") {} Button("b2") {} Button("b3") {} Button("b4") {} Button("b5") {} Menu { Button("t1") { } Button("t2") { } Button("t3") { } Button("t4") { } Button("t5") { } } label: { Text("Menu") } } } .padding(.horizontal) .frame(height: 50) .glassEffect() } } } What happens: The bar looks fine initially: When you open the Menu, the entire bar morphs into the menu: When dismissing, the bar briefly animates into a solid rectangle before reapplying the glass effect: Questions: Is there a way to prevent that brief rectangle animation when dismissing the menu? If not, is it possible to avoid the morphing altogether and have the menu simply overlay on top of the bar instead of replacing it? Any ideas or workarounds would be greatly appreciated!
Replies
1
Boosts
1
Views
407
Activity
Sep ’25
Unable to Locate Pending Terms & Conditions in App Store Connect
Hi, For the past week, I’ve been receiving the following warning when performing a sales figures sync through AppFigures: “[Apple ID] has new terms to agree to in App Store Connect. We will try to continue importing but some data may not be available. Please log in to your App Store Connect account and accept the Terms & Conditions.” However, when I log in to App Store Connect and review the Agreements, Tax, and Banking section, there are no pending agreements or new terms requiring acceptance. All agreements appear to be active and in effect. Because the warning persists, I’m wondering whether there may be a backend agreement or updated term that is not properly surfacing in the interface. While inspecting the page, I also noticed the following console warnings on appstoreconnect.apple.com: tb-alertbox--warn ng-isolate-scope is not valid I’m not sure whether this is related, but I wanted to mention it in case it could be preventing a required agreement notice from displaying. Thank you for your assistance.
Replies
1
Boosts
1
Views
122
Activity
Mar ’26
iOS: List selection is reset to nil when app is sent to background
For some reason, a List will reset its selection to nil when the app is in the background. Steps to reproduce the issue: Run attached sample project Once the app has launched, select a name in the sidebar Move the app to the background Wait a few seconds Bring back the app to the foreground Expected result: The list selection should still be valid Actual result: The list selection is set to nil Notes: I’m using a StateObject, which should be the way to ensure that data isn’t regenerated when views are rendered. Is this a bug or something else needs to be taken care of? class AppModel: ObservableObject {     @Published var selectedPerson: Person? } @main struct NilListSelectionApp: App {     @StateObject var appModel = AppModel()     var body: some Scene {         WindowGroup {             ContentView()                 .environmentObject(appModel)         }     } } struct Person: Identifiable, Hashable {     let id: UUID     let firstname: String     init(firstname: String) {         id = UUID()         self.firstname = firstname     } } struct ContentView: View {     @EnvironmentObject private var appModel: AppModel     var body: some View {         NavigationSplitView {             SidebarView()         } detail: {             PersonView(person: appModel.selectedPerson)         }     } } struct SidebarView: View {     @EnvironmentObject private var appModel: AppModel     private let persons = [Person(firstname: "Joe"), Person(firstname: "Jane")]     var body: some View {         List(persons, id:\.self, selection: $appModel.selectedPerson) { person in             Text(person.firstname).tag(person)         }         .listStyle(.sidebar)     } } struct PersonView: View {     let person: Person?     var body: some View {         if let person {             Text(person.firstname)         }         else {             Text("No Selection")         }     } }
Replies
10
Boosts
2
Views
2.9k
Activity
Jul ’23
Allow custom tap gesture in List but maintain default selection gesture
I'm trying to create a List that allows multiple selection. Each row can be edited but the issue is that since there's a tap gesture on the Text element, the list is unable to select the item. Here's some code: import SwiftUI struct Person: Identifiable { let id: UUID let name: String init(_ name: String) { self.id = UUID() self.name = name } } struct ContentView: View { @State private var persons = [Person("Peter"), Person("Jack"), Person("Sophia"), Person("Helen")] @State private var selectedPersons = Set<Person.ID>() var body: some View { VStack { List(selection: $selectedPersons) { ForEach(persons) { person in PersonView(person: person, selection: $selectedPersons) { newValue in // ... } } } } .padding() } } struct PersonView: View { var person: Person @Binding var selection: Set<Person.ID> var onCommit: (String) -> Void = { newValue in } @State private var isEditing = false @State private var newValue = "" @FocusState private var isInputActive: Bool var body: some View { if isEditing { TextField("", text: $newValue, onCommit: { onCommit(newValue) isEditing = false }) .focused($isInputActive) .labelsHidden() } else { Text(person.name) .onTapGesture { if selection.contains(person.id), selection.count == 1 { newValue = person.name isEditing = true isInputActive = true } } } } } Right now, you need to tap on the row anywhere but on the text to select it. Then, if you tap on the text it'll go in edit mode. Is there a way to let the list do its selection? I tried wrapping the tap gesture in simultaneousGesture but that didn't work. Thanks!
Replies
3
Boosts
2
Views
2.0k
Activity
Feb ’25
iOS 17b6: Simultaneous accesses to ..., but modification requires exclusive access crash using Observation and SwiftUI
Since iOS/iPadOS beta 6, I get a crash just by simply selecting an item in the sidebar of a navigation view. The selected item is part of an app mode, with conforms to the Observation protocol: import SwiftUI import Observation @main struct MREAApp: App { @State private var appModel = AppModel.shared var body: some Scene { WindowGroup { ContentView() .environment(appModel) } } } @Observable class AppModel { static var shared = AppModel() var selectedFolder: Folder? = nil } struct Folder: Hashable, Identifiable { let id = UUID() let name: String } struct ContentView: View { @Environment(AppModel.self) private var appModel var folders = [Folder(name: "Recents"), Folder(name: "Deleted"), Folder(name: "Custom")] var body: some View { NavigationSplitView { SidebarView(appModel: appModel, folders: folders) } detail: { if let folder = appModel.selectedFolder { Text(folder.name) } else { Text("No selection") } } } } struct SidebarView: View { @Bindable var appModel: AppModel var folders: [Folder] var body: some View { List(selection: $appModel.selectedFolder) { ForEach(folders, id: \.self) { folder in NavigationLink(value: folder) { Text(folder.name) } } } } } To reproduce the bug, just tap on one of the item. Oddly enough, this works fine in the Simulator. macOS 14 beta 5 is not affected either. Apple folks: FB12981860
Replies
16
Boosts
2
Views
4.2k
Activity
Oct ’23
Curved/panorama window in visionOS 2?
The new Mac virtual display feature on visionOS 2 offers a curved/panoramic window. I was wondering if this is simply a property that can be applied to a window, or if it involves an immersive mode or SceneKit/RealityKit?
Replies
5
Boosts
0
Views
1.5k
Activity
Nov ’25
Cannot redeem offer codes on Mac App Store, works fine on App Store.
It appears there's an issue with the Mac App Store's ability to process offer codes, unlike its iOS counterpart, which handles them seamlessly. Users attempting to redeem a code on their Mac are encountering a "Cannot redeem code. Try another code" error. Considering the Mac App Store's long history, having been introduced nearly 13 years ago, it's high time for it to align with the iOS App Store's functionality. While it's close to 80% there, addressing these lingering issues would greatly improve the user experience. FB13463658
Replies
2
Boosts
3
Views
1.2k
Activity
Jan ’25
SwiftUI toolbar with IDs crash since macOS 15
I understand this is a known issue, but it’s truly unacceptable that it remains unresolved. Allowing users to customize toolbars is a fundamental macOS feature, and it has been broken since the release of macOS 15. How is it possible that this issue persists even in macOS 15.3 beta (24D5040f)? FB15513599 import SwiftUI struct ContentView: View { @State private var showEditItem = false var body: some View { VStack { VStack { Text("Instructions to reproduce the crash") .font(.title) .padding() Text(""" 1. Click on "Toggle Item" 2. In the menu go to File > New Window 3. In new window, click on "Toggle Item" """) } .padding() Button { showEditItem.toggle() } label: { Text("Toggle Item") } } .padding() .toolbar(id: "main") { ToolbarItem(id: "new") { Button { } label: { Text("New…") } } if showEditItem { ToolbarItem(id: "edit") { Button { } label: { Text("Edit…") } } } } } }
Replies
7
Boosts
3
Views
723
Activity
Mar ’26