Search results for

“column”

2,121 results found

Post

Replies

Boosts

Views

Activity

Reply to How to display UISplitViewController columns next to each other again.
While the columns overlap where blue flows under red, it's important to note that the safeArea of the blue view is just the area not obscured by the red column. By positioning the content of the blue view within the safe area, the content will be next to the red column while the background can flow under it for visual effect. In a storyboard, this can be done by anchoring to constraints the safe area of the view instead of the bounds of the view. Or in code using the safe area layout guide.
Topic: UIKit SubTopic:
UIKit Q&A
1w
CoreData lightweight migration fails on iOS 26 only — "no such column: Z_110GROUPITEMS1"
We've spent several days diagnosing a CoreData migration crash that is iOS 26-specific and reproducible 100% of the time. Posting here in case others have hit this and because we believe it's an Apple bug worth documenting. Upgrading from our App Store build (CoreData model v10) to our latest TestFlight build (model v11) crashes on iOS 26 with: NSCocoaErrorDomain / Code 134110 no such column: Z_110GROUPITEMS1 The same upgrade path on iOS 17 and iOS 18 works perfectly. What v10→v11 changes Two new entities added alphabetically early in the alphabet One new optional boolean attribute on an existing entity One new optional to-many relationship on the same existing entity All changes are lightweight-migration compatible. We use shouldMigrateStoreAutomatically = true and shouldInferMappingModelAutomatically = true Here's what we observed Adding two entities alphabetically shifts Z_ENT numbers for all subsequent entities. A central entity (EntityA) moves from Z_ENT 110 (v10) to Z_ENT 112 (v11). It has many
2
0
147
1w
Reply to Reorderable with Xcode previews
Hi, thanks for getting back Here is a code snippet where this issue will occur: import SwiftUI struct TestItem: Identifiable { let id = UUID() let color: Color } struct POSView: View { @State private var items = [ TestItem(color: .orange), TestItem(color: .purple), TestItem(color: .teal), TestItem(color: .blue), TestItem(color: .pink), TestItem(color: .green) ] let columns = [GridItem(.adaptive(minimum: 100))] var body: some View { ScrollView { LazyVGrid(columns: columns, spacing: 16) { ForEach(items) { item in RoundedRectangle(cornerRadius: 15) .fill(item.color.gradient) .frame(width: 100, height: 100) } .reorderable() } .reorderContainer(for: TestItem.self) { difference in items.apply(difference: difference) } .padding() } } } extension Array { mutating func apply( difference: ReorderDifference ) where Element: Identifiable, Element.ID: Sendable { guard let sourceIndex = firstIndex(where: { $0.id == difference.sources[0] }) else { return } let movedCard = remove(at: sourceIndex) v
1w
The requested app is not available or doesn't exist
Hey everyone, hoping someone here has seen this before because I'm losing my mind. I uploaded my first TestFlight build yesterday and added two internal testers. Both of them accept the invite fine, but the moment they tap Install in the TestFlight app, they get: ▎ The requested app is not available or does not exist My developer account is about a month old, but yesterday was the first time I actually pushed a build to App Store Connect. I've spent the last several hours triple-checking every setting and as far as I can tell, everything looks right: Free Apps Agreement is Active under Business Price Schedule is set to USD 0 (Free) App is available in 175 countries Bundle ID matches between my project and App Store Connect Build metadata shows App Uses Non-Exempt Encryption: No (and the same key is in my Info.plist) The build status in my Internal Testing group Team is Testing with the green checkmark Both testers were added under Users and Access first, then to the internal group One tester shows Accepted st
1
0
79
1w
Reply to NavigationSplitView no longer pops back to the root view when selection = nil in iOS 26.4 (with a nested TabView)
I've encountered the same issue, though in a slightly different configuration than @jwcarr's case. In my setup, it's a 3-column NavigationSplitView (sidebar + content + detail) where the content column contains a TabView with List inside (whereas in @jwcarr's 2-column setup, the TabView/List lives in the sidebar column). When I programmatically set the List selection to nil from the detail column (e.g., after a delete operation), the detail column does not pop back to the content column on iPhone (compact size class). The detail column's content correctly switches to the placeholder view because my state is properly cleared, but the column itself stays on screen. I've confirmed the version-specific behavior on simulators: iOS 26.2: works correctly (pops as expected) iOS 26.3.1: works correctly iOS 26.4 / 26.4.1: does not pop iOS 26.5: works correctly I also verified that removing the TabView and using a plain List in the content
Topic: UI Frameworks SubTopic: SwiftUI Tags:
2w
Reply to A few issues with the iPhone Photos app
Thanks for the positive observation about the Photos app's grid zoom — it is genuinely smooth, and wanting to replicate that in your own app is a reasonable aspiration. I spent some cycles putting together the following summary of APIs you may wish to explore pursuing this goal. A framing note before getting to the substance: I can't share the specifics of how Apple's Photos app is implemented internally, since that's not something DTS can detail. What I can do is point you to the public APIs and techniques that let you build similar grid-zoom behavior in your own app. The good news is that the public surface includes a class for the interpolated-zoom effect you're after. The SwiftUI path For a photo-library-backed grid with smooth pinch-to-zoom in SwiftUI, the building blocks are: LazyVGrid for the grid container (iOS 14 or later). MagnifyGesture (iOS 17 or later) for pinch input. MagnifyGesture replaced the now-deprecated MagnificationGesture; the gesture's value gives you the magnification factor to drive
Topic: App & System Services SubTopic: General Tags:
May ’26
Reply to After binding to NSBrowser indexPaths the browser assumes I'm using NSBrowserCell and calls unimplemented methods on my NSCell subclass
Thanks a lot for the reply! I had a bug I recently introduced in my app where I missed syncing model/UI with a selection change. I was already using the target-action but my app is pretty large and also programmatically changes the selection in many different places. As far as a I know there is no way to pick up all selection changes globally (other than the binding) so I decided to try the binding but that didn't work out as described in the original post. So instead of the binding to resolve I'm now overriding four different set methods (in addition to responding in the target-action). - (void)selectRow:(NSInteger)row inColumn:(NSInteger)column; - (void)selectRowIndexes:(NSIndexSet *)indexes inColumn:(NSInteger)column -(void)setSelectionIndexPath:(NSIndexPath *)selectionIndexPath -(void)setSelectionIndexPaths:(NSArray *)selectionIndexPaths Maybe overriding only two is required, not sure but if so that is undocumented and subject to change anyway. So a binding or a notification like NSBrows
Topic: UI Frameworks SubTopic: AppKit Tags:
May ’26
Reply to PDFView left-anchors to window edge instead of centering between sidebar and inspector (macOS Tahoe)
Thanks for the clear writeup and screenshots — they made this easy to reproduce. With a 3-column NSSplitViewController + PDFView in macOS 26, I confirmed exactly what you're seeing. With detailItem.automaticallyAdjustsSafeAreaInsets = true, the detail view's frame extends under the panels and safeAreaInsets reports correct values — but PDFView's autoScales math positions and scales the page based on the full bounds, ignoring the safe-area region. The page anchors at the left of the bounds, partly under the sidebar, regardless of where the visible gap is. I tested the workarounds that look like they should help, and none of them work: Setting pdfView.additionalSafeAreaInsets to mirror the safe area — PDFView's scaling math doesn't read it. Setting contentInsets on the internal scroll view (pdfView.documentView?.enclosingScrollView) with automaticallyAdjustsContentInsets = false — works for one layout pass, then autoScales recomputes against the full bounds on resize and reverts. Disabling autoScales a
Topic: UI Frameworks SubTopic: AppKit
May ’26
PDFView left-anchors to window edge instead of centering between sidebar and inspector (macOS Tahoe)
I'm building a document viewer on macOS Tahoe with a 3-column NSSplitViewController (sidebar | detail | inspector), trying to replicate how Preview displays PDFs with the page centered in the visible gap between the panels, with content bleeding under them when panning or zooming. I'm using the approach from Build an AppKit app with the new design (WWDC25): detailItem.automaticallyAdjustsSafeAreaInsets = true safeAreaInsets reports the correct values (e.g. left: 208, right: 240), and the frame does extend under both panels. But PDFView with autoScales = true anchors the page to the left edge of the window instead of centering it in the visible gap between the sidebar and inspector. I can get the page to center correctly by constraining PDFView to view.safeAreaLayoutGuide, but then content no longer extends under the panels when panning or zooming, which defeats the whole purpose. What's the correct way to center PDFView content within the visible gap while keeping the frame full-width so content blee
Topic: UI Frameworks SubTopic: AppKit
1
0
240
May ’26
Can Core Data avoid index rebuild when adding a new attribute during lightweight migration?
I’m investigating Core Data lightweight migration behavior with SQLite and ran into a performance issue. Scenario: Model V1: EntityA has one fetchIndex Model V2: EntityA adds a new optional attribute timestamp (Integer 64), with no changes to existing attributes or fetchIndex definitions From a SQLite perspective, this change should be handled by a simple: ALTER TABLE ZENTITYA ADD COLUMN ZTIMESTAMP INTEGER But I observe that Core Data rebuilds the existing index, which becomes a significant performance issue for large databases. CoreData: sql: DROP INDEX IF EXISTS Z_EntityA_id CoreData: sql: ALTER TABLE ZENTITYA ADD COLUMN ZTIMESTAMP INTEGER CoreData: sql: CREATE INDEX IF NOT EXISTS Z_EntityA_byID ON ZENTITYA Question: Is there any way to avoid or bypass index rebuilding for this kind of schema changes?
3
0
376
May ’26
Reply to MSAL login with Developer ID signed app
DevForums is primarily focused on Apple APIs and tools, so I can’t offer specific help with this issue. It’s possible that another third-party developer has seen this before and can help you. If not, I recommend that you seek help via the support channel for the library you’re using. However, I can address this: [quote='826107021, szigetics_nt, /thread/826107, /profile/szigetics_nt'] The problem seems to be that such keychain access groups access cannot be configured for Developer ID signed applications. [/quote] There’s a bunch to unpack here. First up, macOS has multiple keychain implementations. For the details, see TN3137 On Mac keychain APIs and implementations. Keychain access groups imply that you’re using the data protection keychain. Second, the data protection keychain is available to directly distributed programs that use Developer ID signing. See the intersection of the Keychain Sharing row and the Developer ID column in the table in Developer Account Help > Reference > Supported ca
May ’26
Reply to How to display UISplitViewController columns next to each other again.
While the columns overlap where blue flows under red, it's important to note that the safeArea of the blue view is just the area not obscured by the red column. By positioning the content of the blue view within the safe area, the content will be next to the red column while the background can flow under it for visual effect. In a storyboard, this can be done by anchoring to constraints the safe area of the view instead of the bounds of the view. Or in code using the safe area layout guide.
Topic: UIKit SubTopic:
UIKit Q&A
Replies
Boosts
Views
Activity
1w
CoreData lightweight migration fails on iOS 26 only — "no such column: Z_110GROUPITEMS1"
We've spent several days diagnosing a CoreData migration crash that is iOS 26-specific and reproducible 100% of the time. Posting here in case others have hit this and because we believe it's an Apple bug worth documenting. Upgrading from our App Store build (CoreData model v10) to our latest TestFlight build (model v11) crashes on iOS 26 with: NSCocoaErrorDomain / Code 134110 no such column: Z_110GROUPITEMS1 The same upgrade path on iOS 17 and iOS 18 works perfectly. What v10→v11 changes Two new entities added alphabetically early in the alphabet One new optional boolean attribute on an existing entity One new optional to-many relationship on the same existing entity All changes are lightweight-migration compatible. We use shouldMigrateStoreAutomatically = true and shouldInferMappingModelAutomatically = true Here's what we observed Adding two entities alphabetically shifts Z_ENT numbers for all subsequent entities. A central entity (EntityA) moves from Z_ENT 110 (v10) to Z_ENT 112 (v11). It has many
Replies
2
Boosts
0
Views
147
Activity
1w
Reply to Reorderable with Xcode previews
Hi, thanks for getting back Here is a code snippet where this issue will occur: import SwiftUI struct TestItem: Identifiable { let id = UUID() let color: Color } struct POSView: View { @State private var items = [ TestItem(color: .orange), TestItem(color: .purple), TestItem(color: .teal), TestItem(color: .blue), TestItem(color: .pink), TestItem(color: .green) ] let columns = [GridItem(.adaptive(minimum: 100))] var body: some View { ScrollView { LazyVGrid(columns: columns, spacing: 16) { ForEach(items) { item in RoundedRectangle(cornerRadius: 15) .fill(item.color.gradient) .frame(width: 100, height: 100) } .reorderable() } .reorderContainer(for: TestItem.self) { difference in items.apply(difference: difference) } .padding() } } } extension Array { mutating func apply( difference: ReorderDifference ) where Element: Identifiable, Element.ID: Sendable { guard let sourceIndex = firstIndex(where: { $0.id == difference.sources[0] }) else { return } let movedCard = remove(at: sourceIndex) v
Replies
Boosts
Views
Activity
1w
Reply to Adaptive Column Count for Condensed Grid Sections
Hi, You are correct that today only 2 columns are supported. Please file an enhancement request. You will receive updates via Feedback Assistant should the API behavior change in the future.
Topic: CarPlay SubTopic:
CarPlay Q&A
Replies
Boosts
Views
Activity
1w
Adaptive Column Count for Condensed Grid Sections
Condensed grid sections currently use a fixed two-column layout. On larger or higher-resolution head units, this underutilizes the available screen real estate. Is there support (or planned support) for adaptive breakpoints that expand to three or more columns on wider displays?
Replies
1
Boosts
0
Views
47
Activity
1w
The requested app is not available or doesn't exist
Hey everyone, hoping someone here has seen this before because I'm losing my mind. I uploaded my first TestFlight build yesterday and added two internal testers. Both of them accept the invite fine, but the moment they tap Install in the TestFlight app, they get: ▎ The requested app is not available or does not exist My developer account is about a month old, but yesterday was the first time I actually pushed a build to App Store Connect. I've spent the last several hours triple-checking every setting and as far as I can tell, everything looks right: Free Apps Agreement is Active under Business Price Schedule is set to USD 0 (Free) App is available in 175 countries Bundle ID matches between my project and App Store Connect Build metadata shows App Uses Non-Exempt Encryption: No (and the same key is in my Info.plist) The build status in my Internal Testing group Team is Testing with the green checkmark Both testers were added under Users and Access first, then to the internal group One tester shows Accepted st
Replies
1
Boosts
0
Views
79
Activity
1w
[License Agreement] Can not accept license agreement
Hi, can someone help me, I can not find any button to accept this license agreement. I am Account Holder, and after clicking to account link, it redirects to my developer account. I accepted it in my developer account, but when I come back to Apple Store Connect, this agreement is still there, and no accept button for me in Action column.
Replies
9
Boosts
0
Views
3.1k
Activity
2w
Reply to NavigationSplitView no longer pops back to the root view when selection = nil in iOS 26.4 (with a nested TabView)
I've encountered the same issue, though in a slightly different configuration than @jwcarr's case. In my setup, it's a 3-column NavigationSplitView (sidebar + content + detail) where the content column contains a TabView with List inside (whereas in @jwcarr's 2-column setup, the TabView/List lives in the sidebar column). When I programmatically set the List selection to nil from the detail column (e.g., after a delete operation), the detail column does not pop back to the content column on iPhone (compact size class). The detail column's content correctly switches to the placeholder view because my state is properly cleared, but the column itself stays on screen. I've confirmed the version-specific behavior on simulators: iOS 26.2: works correctly (pops as expected) iOS 26.3.1: works correctly iOS 26.4 / 26.4.1: does not pop iOS 26.5: works correctly I also verified that removing the TabView and using a plain List in the content
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
2w
Reply to A few issues with the iPhone Photos app
Thanks for the positive observation about the Photos app's grid zoom — it is genuinely smooth, and wanting to replicate that in your own app is a reasonable aspiration. I spent some cycles putting together the following summary of APIs you may wish to explore pursuing this goal. A framing note before getting to the substance: I can't share the specifics of how Apple's Photos app is implemented internally, since that's not something DTS can detail. What I can do is point you to the public APIs and techniques that let you build similar grid-zoom behavior in your own app. The good news is that the public surface includes a class for the interpolated-zoom effect you're after. The SwiftUI path For a photo-library-backed grid with smooth pinch-to-zoom in SwiftUI, the building blocks are: LazyVGrid for the grid container (iOS 14 or later). MagnifyGesture (iOS 17 or later) for pinch input. MagnifyGesture replaced the now-deprecated MagnificationGesture; the gesture's value gives you the magnification factor to drive
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’26
Reply to After binding to NSBrowser indexPaths the browser assumes I'm using NSBrowserCell and calls unimplemented methods on my NSCell subclass
Thanks a lot for the reply! I had a bug I recently introduced in my app where I missed syncing model/UI with a selection change. I was already using the target-action but my app is pretty large and also programmatically changes the selection in many different places. As far as a I know there is no way to pick up all selection changes globally (other than the binding) so I decided to try the binding but that didn't work out as described in the original post. So instead of the binding to resolve I'm now overriding four different set methods (in addition to responding in the target-action). - (void)selectRow:(NSInteger)row inColumn:(NSInteger)column; - (void)selectRowIndexes:(NSIndexSet *)indexes inColumn:(NSInteger)column -(void)setSelectionIndexPath:(NSIndexPath *)selectionIndexPath -(void)setSelectionIndexPaths:(NSArray *)selectionIndexPaths Maybe overriding only two is required, not sure but if so that is undocumented and subject to change anyway. So a binding or a notification like NSBrows
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
May ’26
Reply to PDFView left-anchors to window edge instead of centering between sidebar and inspector (macOS Tahoe)
Thanks for the clear writeup and screenshots — they made this easy to reproduce. With a 3-column NSSplitViewController + PDFView in macOS 26, I confirmed exactly what you're seeing. With detailItem.automaticallyAdjustsSafeAreaInsets = true, the detail view's frame extends under the panels and safeAreaInsets reports correct values — but PDFView's autoScales math positions and scales the page based on the full bounds, ignoring the safe-area region. The page anchors at the left of the bounds, partly under the sidebar, regardless of where the visible gap is. I tested the workarounds that look like they should help, and none of them work: Setting pdfView.additionalSafeAreaInsets to mirror the safe area — PDFView's scaling math doesn't read it. Setting contentInsets on the internal scroll view (pdfView.documentView?.enclosingScrollView) with automaticallyAdjustsContentInsets = false — works for one layout pass, then autoScales recomputes against the full bounds on resize and reverts. Disabling autoScales a
Topic: UI Frameworks SubTopic: AppKit
Replies
Boosts
Views
Activity
May ’26
PDFView left-anchors to window edge instead of centering between sidebar and inspector (macOS Tahoe)
I'm building a document viewer on macOS Tahoe with a 3-column NSSplitViewController (sidebar | detail | inspector), trying to replicate how Preview displays PDFs with the page centered in the visible gap between the panels, with content bleeding under them when panning or zooming. I'm using the approach from Build an AppKit app with the new design (WWDC25): detailItem.automaticallyAdjustsSafeAreaInsets = true safeAreaInsets reports the correct values (e.g. left: 208, right: 240), and the frame does extend under both panels. But PDFView with autoScales = true anchors the page to the left edge of the window instead of centering it in the visible gap between the sidebar and inspector. I can get the page to center correctly by constraining PDFView to view.safeAreaLayoutGuide, but then content no longer extends under the panels when panning or zooming, which defeats the whole purpose. What's the correct way to center PDFView content within the visible gap while keeping the frame full-width so content blee
Topic: UI Frameworks SubTopic: AppKit
Replies
1
Boosts
0
Views
240
Activity
May ’26
Device stuck in processing
I have had this notice for a while: Registration is being processed for these devices. They may become available for development and ad hoc distribution in 24 to 72 hours. Changes to device availability will appear in the Status column. The status for my new iPhone has been stuck in this Processing state. See image:
Replies
22
Boosts
0
Views
24k
Activity
May ’26
Can Core Data avoid index rebuild when adding a new attribute during lightweight migration?
I’m investigating Core Data lightweight migration behavior with SQLite and ran into a performance issue. Scenario: Model V1: EntityA has one fetchIndex Model V2: EntityA adds a new optional attribute timestamp (Integer 64), with no changes to existing attributes or fetchIndex definitions From a SQLite perspective, this change should be handled by a simple: ALTER TABLE ZENTITYA ADD COLUMN ZTIMESTAMP INTEGER But I observe that Core Data rebuilds the existing index, which becomes a significant performance issue for large databases. CoreData: sql: DROP INDEX IF EXISTS Z_EntityA_id CoreData: sql: ALTER TABLE ZENTITYA ADD COLUMN ZTIMESTAMP INTEGER CoreData: sql: CREATE INDEX IF NOT EXISTS Z_EntityA_byID ON ZENTITYA Question: Is there any way to avoid or bypass index rebuilding for this kind of schema changes?
Replies
3
Boosts
0
Views
376
Activity
May ’26
Reply to MSAL login with Developer ID signed app
DevForums is primarily focused on Apple APIs and tools, so I can’t offer specific help with this issue. It’s possible that another third-party developer has seen this before and can help you. If not, I recommend that you seek help via the support channel for the library you’re using. However, I can address this: [quote='826107021, szigetics_nt, /thread/826107, /profile/szigetics_nt'] The problem seems to be that such keychain access groups access cannot be configured for Developer ID signed applications. [/quote] There’s a bunch to unpack here. First up, macOS has multiple keychain implementations. For the details, see TN3137 On Mac keychain APIs and implementations. Keychain access groups imply that you’re using the data protection keychain. Second, the data protection keychain is available to directly distributed programs that use Developer ID signing. See the intersection of the Keychain Sharing row and the Developer ID column in the table in Developer Account Help > Reference > Supported ca
Replies
Boosts
Views
Activity
May ’26