Dear Apple, please make sure this bug gets delivered to whoever is responsible. That's all I ask. Please don't let it sit for months unassigned. This is, by far, the worst bug I've ever found with the macOS wallpaper system.
FB21532401
If you own a 13" 2020 or newer MacBook pro model, set to the default resolution, and are running macOS Tahoe, macOS will significantly degrade the quality of any image set as wallpaper.
When a still image is set as the wallpaper on macOS Tahoe, on some display configurations, the systems downscales the image to an incorrect size, resulting in pixelated wallpaper. The problem is exacerbated by the fact that macOS Wallpaper Agent appears to be using a less than ideal downscaling algorithm, which results in Super Mario Bros’ type pixelation (nearest neighbor) as opposed to any other reasonable modern method (like bicubic.) The issue does not repro on macOS Sequoia.
Every model MacBook we’ve tested offers some resolutions with some form of this problem, but the 13” is the only one where it is notably awful. The most evident default case of this is the 13” MacBook Pro models with a 2560x1600 physical display (for example, 2020 MacBook Pro 13” (17,1.)) These models have a physical display resolution of 2560x1600, and a default scaled resolution of 1440x900. The relationship between the physical resolution and scaled resolution is not an even ratio (1:1 or 2:1), which seems to be the common condition under which this issue occurs.
Repro steps:
Set the systems display resolution to the default resolution - ideally on the model described above (see details on this below)
Set a high resolution image (in this example 5120x2880) as the system wallpaper using any method
Results:
On the model described above, Wallpaper Agent will generate and display a 1440x810 image as the wallpaper. It should be generating and displaying at a minimum of 2560x1600, or more appropriately at 2880x1800 which is the proper 2X resolution. This can be confirmed by viewing the properties of the generated images in the macOS wallpaper cache here:
~/Library/containers/com.apple.wallpaper.agent/Data/Library/Caches/com.apple.wallpaper.caches/extension-com.apple.wallpaper.extension.image
On modern Apple systems, the only situation in which the wallpaper should be generated at 1X is when the physical resolution and set resolution are 1:1. In any situation where the physical resolution is larger than the set resolution, the image should be generated at 2X the set resolution.
As far as we can tell, this issue impacts any format, and any resolution of image, and occurs independent of the set image resolution.
Explore the art and science of app design. Discuss user interface (UI) design principles, user experience (UX) best practices, and share design resources and inspiration.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi everyone,
I've noticed that on iOS 26 beta 1 through beta 4, when using a List with the .plain style, the section header overlaps with the cell content below it, as there is no background for the header. This creates a poor visual experience.
Additionally, when using NavigationSplitView on iPad, the second column's list always shows this issue.
Is this an intentional design change, or just a temporary issue? I haven't found a good workaround so far.
Thanks!
FB19066489
With iOS 26 the CPListSection header has a transparent background, and when the list scrolls under the header it doesn't look good at all. We expected to see a glass fading effect maybe, like the one on the top of the screen. Is it a known bug?
Hi everyone,
I am working on a CarPlay integration, and need open a two level list opened from a root template. However, I am always receiving an error message when opening the 2nd pushed template.
To narrow it down not to have an issue with some app specific code I created the CarPlay scene below.
I am aware that there is a limit, but two levels I understand are supported on all CarPlay integrations, the maximum seems to be 5.
The app is just crashing right after showing the 2nd template.
Any ideas? Any hints are much appreciated.
Thanks a lot!
Regards, Michael
class CarPlaySceneDelegate2: UIResponder, CPTemplateApplicationSceneDelegate {
// [...]
private func createRootTemplate() -> CPListTemplate {
let pushToAItem = CPListItem(text: "Push to Template A", detailText: "Level 1 → Level 2")
pushToAItem.handler = {[weak self] (pushToAItem, completion) in
guard let self = self else {
completion()
return
}
self.interfaceController?.pushTemplate(
self.pushTemplateA(),
animated: true,
completion: { (didPresent, error) in
completion()
}
)
}
let section = CPListSection(items: [pushToAItem])
let template = CPListTemplate(title: "Root Template", sections: [section])
return template
}
private func pushTemplateA() -> CPListTemplate {
let pushToBItem = CPListItem(text: "Push to Template B", detailText: "Level 2 → Level 3")
pushToBItem.handler = {[weak self] (pushToBItem, completion) in
guard let self = self else {
completion()
return
}
self.interfaceController?.pushTemplate(
self.pushTemplateB(),
animated: true,
completion: { (didPresent, error) in
completion()
}
)
}
let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root")
backToRootItem.handler = { [weak self] _, completion in
self?.interfaceController?.popToRootTemplate(animated: true, completion: nil)
completion();
}
let infoItem = CPListItem(text: "Current Depth", detailText: "2 (Template A)")
let stackCountItem = CPListItem(
text: "Stack Count",
detailText: "\((interfaceController?.templates.count ?? 0) + 1)"
)
let section = CPListSection(items: [pushToBItem, backToRootItem, infoItem, stackCountItem])
let template = CPListTemplate(title: "Template A", sections: [section])
return template
}
private func pushTemplateB() -> CPListTemplate {
let pushToCItem = CPListItem(text: "Push to Template C", detailText: "Level 3 → Level 4")
pushToCItem.handler = {[weak self] (pushToCItem, completion) in
guard let self = self else {
completion()
return
}
self.interfaceController?.pushTemplate(
self.pushTemplateC(),
animated: true,
completion: { (didPresent, error) in
completion()
}
)
}
let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root")
backToRootItem.handler = { [weak self] _, completion in
self?.interfaceController?.popToRootTemplate(animated: true, completion: nil)
completion()
}
let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template A")
popOneItem.handler = { [weak self] _, completion in
self?.interfaceController?.popTemplate(animated: true, completion: nil)
completion()
}
let infoItem = CPListItem(text: "Current Depth", detailText: "3 (Template B)")
let stackCountItem = CPListItem(
text: "Stack Count",
detailText: "\((interfaceController?.templates.count ?? 0) + 1)"
)
let section = CPListSection(items: [pushToCItem, popOneItem, backToRootItem, infoItem, stackCountItem])
let template = CPListTemplate(title: "Template B", sections: [section])
return template
}
private func pushTemplateC() -> CPListTemplate {
let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root")
backToRootItem.handler = { [weak self] _, completion in
self?.interfaceController?.popToRootTemplate(animated: true, completion: nil)
completion()
}
let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template B")
popOneItem.handler = { [weak self] _, completion in
self?.interfaceController?.popTemplate(animated: true, completion: nil)
completion()
}
let infoItem = CPListItem(text: "Current Depth", detailText: "4 (Template C)")
let stackCountItem = CPListItem(
text: "Stack Count",
detailText: "\((interfaceController?.templates.count ?? 0) + 1)"
)
let section = CPListSection(items: [popOneItem, backToRootItem, infoItem, stackCountItem])
let template = CPListTemplate(title: "Template C", sections: [section])
return template
}
}
Why?
Why stop there? (Why not ipod.and.imacg3? applenewton.and.vision.pro?)
I get why the older ipod symbols exist but these new pairings are odd.
If anyone ever sees these restricted symbols in the wild, or even just someone using a Vision Pro and an iPod (Touch) together in a way that's not contrived, please do let me know!
I am writing to express interest in engaging with Apple regarding a highly original and commercially relevant concept related to future iPhone innovation.
Given the confidential and proprietary nature of this idea, I am not in a position to share details through an open inquiry or standard feedback form.
I would welcome the opportunity to present this concept through an official and formal communication channel that ensures appropriate confidentiality and professional evaluation, should Apple have an established process for external innovation or partnership discussions.
Please advise if there is a suitable point of contact or procedure for initiating such a conversation in accordance with Apple’s policies.
Thank you for your time and consideration. Please feel free to contact me though my email or phone
Regards
Tahmeed Hossain
Contact: +880 1781882730
Hello everyone,
I’ve reached out to Apple’s review team multiple times, but unfortunately, I haven’t received any clear or specific guidance on why my app was rejected. My app has been rejected several times with the reason “Spam” under guideline 4.3, and I still don't understand exactly which part of the app is problematic.
Even after providing the necessary information about the data, I resubmitted the app, and after a few days, it quickly moved into "In Review" status, but then was rejected within seconds with the same “Spam” message.
I have sent over 13 messages asking for specific feedback, and all I get are vague responses saying “It’s spam, refer to 4.3, fix your app, and resubmit.” However, when I review the guidelines, I don’t see any specific reasons for rejection that apply to my app.
I’m particularly confused because my app is a VPN, and when I check the guidelines, I see that apps in categories like dating and others are saturated, but VPN apps are not. My app uses completely dedicated servers, and the IP addresses are not found in any other apps.
Still, my app keeps getting rejected. If anyone has encountered a similar issue or has any insight into what might be causing this, I would greatly appreciate it if you could provide detailed guidance on what specifically needs to be changed to get the app approved.
Thank you!
In my application, I am creating a simple NSMenu with NSMenuItems. The title of the NSMenuItems are adapted to the system language. So, when the system language is an RTL language (right to left), I want my NSMenuItem to be aligned at the right.
I can't see anyone talking about this, or any option that could make me achieve that easily.
NSMenuItem* item1;
NSMenuItem* item2;
item1 = [[NSMenuItem alloc] init];
item2 = [[NSMenuItem alloc] init];
item1.title = "foo";
item2.title = "bar";
item1.action = @selector(fooAction);
item2.action = @selector(barAction);
NSMenu *menu = [[NSMenu alloc] init];
[menu addItem:item1];
[menu addItem:item2];
The system provided liquid glass background looks terrible with my companies navigation bar background color. The navigation background color is not up for discussion and cannot be changed. The clear liquid glass style looks great and I can apply that to buttons I add to the navigation bar, but that doesn't effect the system provided back button. I would prefer to maintain the default back button functionality. Please make it possible to set the liquid glass style that the system provides for navigation bar items.
As of right now Icon Composer does not support creating app icons for visionOS and tvOS. It appears that only system apps can provide glass icons for those platforms. How should developers handle this? In extreme cases, the flat icon on those platforms will look wildly different from their glass counterparts.
From what I have seen visionOS and tvOS also do not apply any automatic treatment like on iOS where legacy icons get a glass effect.
So, third party app icons are just going to look out of place for (hopefully just) a year on those platforms? What is the recommended approach here? You could obviously fake the effect, but I feel like that would be worse.
We have found that on iOS 26 beta some of our app icons built from an Xcode 16 asset catalog containing a single 1024x1024 .png file have a Liquid Glass effect applied to them while others have not.
The documentation states that
If you choose not to use Icon Composer, you can still use an AppIcon asset catalog in your project containing individual app icon images and let the system apply the Liquid Glass material.
and
If you prefer, you can take advantage of the system’s automatically generated treatment that is applied to all app icons.
Is there any insight into how the system treats app icons that have not yet been updated with Icon Composer?
On iOS 26 beta 3, my app and some other apps got greyed out app icon.
It only happens in Default (Light) appearance.
Apple automatically converts third-party app icons to support Liquid Glass, but is there any specific requirement with third-party icons to avoid above greyed out app icon issue?
I'm trying out Icon Composer Version 1.0 (27.4). I imported a simple logo and sized it in the outer circle. The icon appears good in the Icon Composer. But when I export the file and use it for my app icon it seems to be missing a margin or padding that other native application icons have.
Am i supposed to be adding my own padding to these resulting icons or am I building them incorrectly? Any guidance would be appreciated. Thanks!
Yesterday on Explore the biggest updates from WWDC Curt Clifton shared .background(.tint, in: .rect(corner: .containerConcentric)). XCode26 beta 3 don‘t recognize it. how when we can use it??
Hi Guys, I noticed that with Icon Composer when you export the icon it does not export a square image, is there any way of doing it or that's how it is now?
Checking the icon on the iPhone something doesn't seem right...
Hi everyone. Can you help me with my settings icon design. I`m trying to create circular setting button using Menu. My code here:
struct MenuView: View {
var body: some View {
Menu {
Text("Hello")
Text("How are you")
} label: {
Image(systemName: "gearshape.fill")
.clipShape(Circle())
}
.clipShape(Circle())
.padding(.top, 10)
.padding(.leading, 20)
}
}
You can see my try, this one looks wrong.
It should be like this:
Just Circle with setting image inside. Thank you an advance 😭🙏🛐
I have two views I've applied Liquid Glass to in Swift UI. I've noticed that depending on the height of the view the material changes and I'm not sure why. See the attached screenshot. Both views add the liquidGlass style in the same way but behave very differently on the same background.
Ideally I'd like them to look the same as the bottom one. Is that the same as the clear style?
Hi guys, I've exported the images with transparency for a Vision OS icon but I still keep getting a weird shadow on the top of the icon when I focus on it.
Do you guys had this issue before?
How can I achieve the result of buttons glass effect like sample videos that was show at de WWDC25? I tried a lot of approaches and I still far a way from the video.
I would like something like the pictures attached. Could send a sample code the get the same result?
Thanks
I would like to propose a design enhancement for future iPhone models: using the existing bottom-right antenna line (next to the power button area) as a capacitive “volume control zone” that supports swipe gestures.
Today this line is a structural antenna break, but it is also located exactly where the thumb naturally rests when holding the phone in one hand. With a small embedded capacitive/force sensor, the user could slide their finger along this zone to control volume without reaching for the physical buttons.
Why this makes sense:
• Perfect ergonomic thumb position in both portrait and landscape
• One-handed volume adjustment becomes easier for large-screen devices
• Silent and frictionless vs. clicking buttons (useful in meetings / night mode)
• Consistent with Apple’s recent move toward contextual hardware input (Action Button, Capture Button, Vision Pro gestures)
The interaction model would be:
• Swipe up → increase volume
• Swipe down → decrease volume
• (Optional) long-press haptic = mute toggle
This could also enhance accessibility, especially for users with reduced hand mobility who struggle to press mechanical buttons on tall devices.
Technically, this would be similar to the Capture Button (capacitive + pressure layers), but linear instead of pressure-based. It does not replace physical buttons, it complements them as a silent gesture-based alternative.
Thank you for considering this as a future interaction refinement for iPhone hardware design.