Hello,
When I turn on tinted mode on iOS 18, I noticed that the emojis in the widgets are not rendered properly. The widget in the following screenshot is the template project created by Xcode 16.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello,
I noticed a small mistake in the Human Interface Guidelines (HIG).
On the page HIG > Components > System Experiences > Widget > watchOS Widget Dimensions, scroll down to the bottom. In the "watchOS widget dimensions" section, the sizes in the table are in pixels (px), not points (pt) actually. However, the table header indicates the sizes should be in points (pt).
Page link:
https://developer.apple.com/design/human-interface-guidelines/widgets#watchOS-widget-dimensions
For example, the widget size in the Smart Stack on a 49mm watch should be 192x81.5 pt (or 382x163 px), not 382x163 pt. This size can be verified with the information provided here:
https://developer.apple.com/documentation/watchos-apps/supporting-multiple-watch-sizes/.
https://developer.apple.com/documentation/watchkit/wkinterfacedevice/1620974-screenscale
Hello,
I'm so glad that now you can scroll the list to top by tapping the tab bar ion on iOS 18. However, the current implementation on iOS 18 beta 8 has a little layout issue.
import SwiftUI
struct ContentView: View {
var body: some View {
TabView {
Tab("Home", systemImage: "house") {
NavigationStack {
List {
ForEach(0..<100) { i in
Text("\(i)")
}
}
.navigationTitle("Root")
}
}
}
}
}
#Preview {
ContentView()
}
Tap the tab icon:
Result:
Recently, I’ve noticed that the Archive workflow on Xcode Cloud frequently fails randomly with the following error:
❌ Exporting for App Store Distribution failed. Please download the logs artifact for more information
I’m not sure if this issue is on my side or if it’s related to Xcode Cloud itself. Has anyone encountered a similar problem?
Hi everyone,
Starting today, my Xcode Cloud CI workflow can no longer successfully build iOS/macOS/visionOS targets. The Archive step does not report any errors, but the xcodebuild command hangs indefinitely and eventually fails with the following message:
The step invocation hit a user timeout. The xcodebuild archive invocation timed out. No activity has been detected on stdout, stderr or the result bundle in 30 minutes.
My iOS and macOS targets can still be built, but the build time has increased by 2-3x compared to before. That's interesting. After I removed the visionOS target, the iOS target also failed to build.
Additionally, since today, I’ve noticed a significant increase in network-related errors in Xcode Cloud. There have been multiple failures to download dependencies from Homebrew or GitHub.
I have confirmed that CI versions which previously built successfully are now failing, while running the same build commands locally works fine. Based on these observations, I suspect there may be an issue with the Xcode Cloud environment itself.
Has anyone else encountered similar problems? Any suggestions or updates would be appreciated!
Thanks!
Hi everyone,
I’m encountering an issue with Xcode Cloud when trying to notarize my macOS app. As shown in the screenshot, there are no errors in the logs, but the process gets stuck indefinitely. The message says:
The post-action could not be completed because the build was canceled.
No artifacts are generated at all.
This problem started recently. Notarization works perfectly when I submit from my local Xcode, so it seems to be specific to Xcode Cloud.
Has anyone else experienced this?
I found that watchOS 9.2 seems to break the complicationForeground() modifier. In previous systems, a View modified by complicationForeground() was rendered white, while an unmodified View was rendered with the watch face tint color. This is the correct behavior.
However, in watchOS 9.2, this behavior has been reversed. The View modified by complicationForeground() renders the tint color, and the opposite is white‽ This causes third-party complications to look very inconsistent on tinted watch faces.
Of course, this issue belongs to ClockKit, and I'm not sure if there are similar issues in the new WidgetKit.
Will this issue be fixed please?
Xcode 15 and iOS 17 now adds extra padding to widget content, which is inconsistent with iOS 16.
Run on iOS 16:
Same code run on iOS 17, with extra paddings:
struct WidgetView : View {
var entry: Provider.Entry
var body: some View {
LicenseView(entry: entry)
.background(Color("WidgetBackground"))
.modifier {
if #available(iOS 17.0, *) {
$0.containerBackground(for: .widget) {
Color.white // to highlight the padding on iOS 17
}
} else {
$0
}
}
}
}
Hello!
I'm trying to donate an Intent to iOS using IntentDonationManager, following the methods described in the documentaion.
try await IntentDonationManager.shared.donate(intent: MyIntent()) // succeeded
However, I'm not seeing any effect of this action anywhere in the system (iOS 17 and 16). I have debugged it on both the simulator and a physical device, and I have also enabled the "Display Recent Shortcuts" toggle in the developer settings, but I still don't see any relevant suggestions appearing.
Similarly, the issue also occurs with the old SiriKit framework, where INInteraction.donate(completion:) doesn't seem to have any observable effect. I recall that in iOS 15, the simulator would immediately present the donated Shortcut action on the lock screen and Spotlight page. However, starting from iOS 16 and continuing to the current iOS 17 beta 1/2, I haven't been able to achieve the same behavior using the same code.
Another similar report: https://developer.apple.com/forums/thread/723109
So is there any way to test or verify the results of this donation action?
Hello,
I'd like to ask a very fundamental question about JSONEncoder: how to sort keys in a specific order when encoding a dictionary to JSON text?
I know there is an option called JSONEncoder.OutputFormatting.sortedKeys, but it sorts the keys only in lexicographic order.
I want to sort the keys using a different comparator, such as String.localizedStandardCompare(_:), which achieves the "Finder-like" order.
The reason why I ask this question is because I have a localization tool that works with String Catalog (xcstrings file, which is a JSON), but every time my tool serializes an xcstrings file, it always messes up the keys in lexicographic order (I used JSONEncoder + .sortedKeys). Meanwhile, Xcode 16 always serializes the string keys into the "Finder-like" order. As a result, my tool always generates a huge diff when manipulating the xcstrings even when making only a small modification to it.
So I am wondering how Xcode 16 implements the String Catalog tool to serialize the JSON in "Finder-like" order. It would be great if JSONEncoder could do that too. Or, maybe I can use another serialization method to implement this behavior?
Hello,
I noticed that SFSpeechRecognizer is broken on iOS 18. During a recognition task, it keeps dropping the recognized text on every pause. For example, if you say "how are you fine", it will drop the "how are you" part and only give you "fine" as the result.
Say "how are you <pause> fine"
// iOS 17 ✅ (perfect final result)
How
How are
How are you
How are you.
How are you. Fine.
// iOS 18 ❌
How
How are
How are you
How are you
Fine
(the text before the pause is dropped, and fail to recognize the punctuations.)
Reproducing the issue:
Download the official sample project.
Run it on an iOS 18 device or simulator.
Say "how are you fine"
Only "fine" will be displayed.
Hi everyone!
My Apple Watch app has relied for years on the WKApplication.scheduleBackgroundRefresh(...) method to keep the app updated in the background. The system would reliably trigger WKApplicationDelegate.handle(_:), where I would then schedule the next refresh task (usually 15 minutes later).
As stated in the documentation, as long as there is a complication on the watch face, these background tasks should run at a relatively stable frequency.
However, this approach seems to have stopped working on watchOS 26. I no longer receive any WKApplicationRefreshBackgroundTask at all. Has anyone else experienced this issue?
Hello,
The new mental health features in iOS 17 allow users to log their momentary emotions and daily moods, see valuable insights, and easily access assessments and resources. Does anyone know if HealthKit in iOS 17 provides an API for accessing these records? Thanks :)
My app features two kinds of widgets, let's call them kind A and kind B.
I have both A and B widgets on my Home Screen. When I tap the button on widget A (associated with App Intent), I expect widget B to also reload.
However, if you call WidgetCenter.shared.reloadAllTimelines() inside the perform() method of the AppIntent, the timeline of widget B does not reload immediately. This issue only occurs on a physical device and is not consistently reproducible. On a simulator, however, widget B reloads as expected.
FB13152293
Hello,
I noticed that the layout of compact Dynamic Island on iOS 17 is incorrect. The edge of the circle shape is unable to be aligned with the edge of Dynamic Island.
However, the layout in Xcode Preview is just perfect. And this is also the same layout on previous iOS 16:
If you try to workaround the issue by adding an offset to the view, it will be cropped by a misaligned circle.