Dear Pankaj, Please see the following resources for supporting scenes on external displays: https://developer.apple.com/documentation/UIKit/transitioning-to-the-uikit-scene-based-life-cycle#Support-noninteractive-external-display-scenes https://developer.apple.com/documentation/uikit/presenting-content-on-a-connected-display https://developer.apple.com/documentation/uikit/specifying-the-scenes-your-app-supports https://developer.apple.com/documentation/metal/managing-your-metal-app-window-in-ipados Sample project: https://developer.apple.com/documentation/uikit/building-a-desktop-class-ipad-app While these are geared towards UIKit, there is analogous API support in SwiftUI for scenes, e.g.: https://developer.apple.com/documentation/swiftui/view/sceneaccessory(content:) https://developer.apple.com/documentation/swiftui/externalnoninteractiveaccessory In SwiftUI, you would pass to sceneAccessory(content:) a Window or WindowGroup to create an interactive window on an external
Search results for
“swiftui”
17,489 results found
Post
Replies
Boosts
Views
Activity
Hello, I filed FB23906760 requesting full Persian (fa-IR) system-language support across Apple platforms. A focused Swift/SwiftUI feasibility and QA sample is attached privately to that feedback report. Apple platforms already provide important building blocks for Persian, including Persian text input, Unicode rendering, locale-aware formatting, semantic right-to-left layout support, and Persian calendar APIs. However, Persian is not currently selectable as a complete system interface language on iOS, iPadOS, or macOS. The submitted app-level sample exercises: runtime RTL/LTR layout switching; canonical Persian Kaf (U+06A9) and Yeh (U+06CC); ZWNJ (U+200C) preservation; LRI/PDI isolation for mixed Persian and Latin content; Persian digits and numeric separators; Foundation Persian-calendar conversion and month names; English/Persian localization-key parity; and localized accessibility metadata. I want to clearly distinguish application localization from operating-system support: A Swift or SwiftUI
Topic:
App & System Services
SubTopic:
Internationalization
Tags:
Internationalization
Localization
iOS
macOS
0
0
610
I can add a sharper repro condition: this is specific to cloned simulators, not UI testing itself. Same XCUITest, same iOS 26.5 runtime, Xcode-managed parallel testing: Run serially on a normal simulator (-parallel-testing-enabled NO): the Files save sheet works, Save enables, test passes. Run with -parallel-testing-enabled YES (even with worker count 1, which still runs on a Clone 1 of iPhone… device): the save sheet opens, the filename is filled in, but the Save button is disabled from the first frame and never enables, and the document thumbnail never loads. Nothing app-side differs — the sheet is presented by SwiftUI fileExporter with a valid FileDocument. So happens only during UI testing in earlier replies is more precisely happens only on parallel-testing simulator clones — the local-storage file provider in a freshly cloned, test-hosted simulator appears unable to stage/write the document. The EXCLUDED_ARCHS workaround mentioned above doesn't apply in my case (project has no such setting). Wo
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
As insane as this may sound, I'm trying to write a spreadsheet app. I'm retired with 40+ years of mostly C device driver, networking type development and support. The model I'm using is Apple's Numbers and I'm currently experimenting with Table trying to mimic the look and feel of Numbers' sheet. I believe I have two choices: I can have one Table with the first row and first column different / special and this would imply that the very first element is also special. Numbers has a circle as the top leftmost element. The top row and first column are the identifiers of the rows and columns initially starting out as A, B, C ... and 1, 2, 3 .... The advantage of this method is Table would take care that the size of the top row (the width of the columns) would match the width and position of the rest of the cells of the table. Likewise, the height of the cells in the first column would always match and align with the cells of the table. The downside with this approach is that things like sorting and selecting would
Topic:
UI Frameworks
SubTopic:
SwiftUI
0
0
141
When switching to a SwiftUI app (built with Xcode 26.5) from an app with an active keyboard, the target app's tab bar incorrectly floats above the keyboard safe area. This layout issue occurs even though the target app does not display a keyboard and contains only a tab bar and scroll views.
2
0
479
If you call start() in a .task on the view instead of in the App's init, I believe you will see what you expect. So this is not a bad idea… but unfortunately does not quite get me what I would have hoped for. If I inspect the SwiftUI view lifecycle here: @main struct StateDemoApp: App { @State private var timer = Timer() init() { print(StateDemoApp init) self.timer.start() } var body: some Scene { WindowGroup { ContentView() .onAppear { print(StateDemoApp onAppear) } .task { print(StateDemoApp task) } } } } and then put additional print logs in ContentView itself I get the init log from StateDemoApp called before the init log from ContentView and the onAppear and task logs from StateDemoApp called after the onAppear and task logs from ContentView. Ideally I would like to start this Timer before ContentView might be doing something else with global state that might break if the Timer did not start first. I can also workaround by moving the Timer construction to init: @main struct StateDemoApp: App { @
Topic:
UI Frameworks
SubTopic:
SwiftUI
Hello @vanvoorden, I believe this is related to the Important note found in TN3211: Resolving SwiftUI source incompatibilities for State and ContentBuilder: Paraphrasing: Assigning to a @State property that already has an inline initial value is not supported and does not produce the expected behavior at runtime. I'm reaching out to some folks to see if this needs to be clarified further in the technote, clearly you are not assigning a value in your example, but I still believe what you are doing is producing unexpected behavior with the State macro due to the same underlying reason. I believe these prints are from your call to self.timer.start() in your App's init: ObjectIdentifier(0x0000000a22c245a0) init ObjectIdentifier(0x0000000a22c245a0) start ObjectIdentifier(0x0000000a22c245a0) deinit According to my theory, I don't believe the @State has actually been initialized at this point, so your call to start() actually initializes a Timer, starts it, and then as soon as that scope exits ARC destroys
Topic:
UI Frameworks
SubTopic:
SwiftUI
Are you able to share the RowView and HeaderView you are using? When I try this code, removing the Section doesn't make a difference. Are you able to simplify those views in a way that still reproduces the issue? I want to make sure it's not the way those views are defined. Since we are scrolling to content in a LazyVStack, consider: views that are off screen may be deallocated to achieve better performance. Lazy containers estimate the total content size and only render views as they approach the visible area — so I have a feeling at the same moment the system is interpreting the initial scroll position, the target view may still be in the process of being laid out or may not have been created yet, causing a race condition. We go in-depth into Lazy Stacks with Dive into lazy stacks and scrolling with SwiftUI from WWDC26, check out that session as there's tons of great info on a lazy stacks, which are useful in almost every project. Travis
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags:
Hello @xmollv, It appears SwiftUI prioritizes user gesture input over pragmatic scroll operations, like scrollTo. I haven't found this in writing explicitly, but it seems consistent and might be expected, rather than a bug. You can still file an enhancement request through Feedback Assistant with information on how this design impacts you. Bug Reporting: How and Why? explains how you can do that One idea to work around this is to store the target in state and execute scrollTo inside onScrollPhaseChange once the phase becomes .idle. The HIG for Scroll views includes some relevant UX considerations for automatic scrolling, this might help give you some ideas as well. Travis
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags:
Can somebody tell me if I'm doing something wrong or SwiftUI's scrollTo(id:anchor:) just doesn't work if the ScrollView is scrolling? I have a trivial example that demonstrates the issue: import SwiftUI @main struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } } struct Item: Identifiable { let id = UUID() let timestamp: Date let text: String } struct ContentView: View { @State private var items: [Item] = (0...10_000).map{ .init(timestamp: Date(), text: Row ($0)) } @State private var scrollPosition = ScrollPosition(idType: Item.ID.self) @State private var newMessage: String = var body: some View { ScrollView { LazyVStack { ForEach(items) { item in ItemView(item: item) } }.scrollTargetLayout() } .defaultScrollAnchor(.bottom, for: .initialOffset) .scrollPosition($scrollPosition, anchor: .bottom) .safeAreaBar(edge: .bottom) { HStack { TextField(Type here, text: $newMessage, axis: .vertical) .textFieldStyle(.roundedBorder) Button(Send, action: { let trimmed = newMessage.tr
2
0
273
Hello Apple Developer Community, My name is Chris, and I’m an independent developer building games, educational tools, and utility apps for Apple platforms. I’d like to share some of the applications I have released so far: ADVENT Text Game for Mac A retro-inspired text adventure designed specifically for macOS. View on the App Store ADVENT Text Game for iPhone and iPad Explore mysterious caves, discover hidden passages, collect treasures, and solve puzzles in a classic-inspired text adventure. View on the App Store iFrappe View on the App Store China Driving Exam Trainer A study and practice application for learners preparing for the Chinese driving licence theory examination. View on the App Store Ur: The Royal Game A digital interpretation of the ancient Royal Game of Ur. View on the App Store I’m also currently developing Steel Maze, a retro maze-based tank battle game for iPhone, iPad, and Mac. Each project has helped me explore different parts of Apple development, including SwiftUI, SpriteKit,
1
0
514
I might have run in to the same problem, though I initially attributed it to the 27 beta of XCode / macOS (reported as FB23688931). (This was with mostly the default SwiftUI + SwiftData + CloudKit template app, though I added the iCloud capability and enabled CloudKit. The app came with the “App Sandbox” capability configured by default). After verifying the fix with the print(CKRecord.self) as suggested above, I worked around the issue by explicitly adding “CloudKit.framework” to the “Link Binary With Libraries” setting under “Build Phases” which also fixed the problem.
Topic:
App & System Services
SubTopic:
iCloud
Tags:
I have an iOS 17+ app (SwiftUI lifecycle, @UIApplicationDelegateAdaptor) with the granted com.apple.developer.carplay-communication entitlement. It's a voice-message app for family (leave/listen to short audio messages). The app does not appear in Settings → General → CarPlay, nor on the CarPlay Home grid, on a real head unit — across multiple TestFlight builds and full phone reboots. The iPhone app itself launches fine. Verified: The App Store distribution provisioning profile carries com.apple.developer.carplay-communication. The build is signed with that entitlement. Info.plist declares a CPTemplateApplicationSceneSessionRoleApplication scene with UISceneClassName = CPTemplateApplicationScene, a UISceneConfigurationName, and UISceneDelegateClassName pointing to a CPTemplateApplicationSceneDelegate. The delegate synchronously sets a root CPListTemplate in templateApplicationScene(_:didConnect:). My questions: Does a CarPlay Communication app require SiriKit messaging support (INSendMessageIntent, I
0
0
583
The new MCP support for Coding Assistant in Xcode is a fantastic addition. It makes it much easier to work with AI directly inside Xcode, and it’s exciting to see Apple embracing AI-assisted development. However, many developers are now using external AI coding agents—such as Claude Code, Codex, and other terminal-based agents—as their primary development interface. In practice, much of the development workflow has shifted away from manually editing code in Xcode. Instead, developers collaborate with AI agents from the terminal (for example, using tmux), while the agents generate code, modify project settings, write tests, and perform many other development tasks. What these agents are missing is direct access to Xcode itself. It would be incredibly valuable if external AI coding agents could communicate with Xcode through an official MCP server, a CLI, or a dedicated automation API. For example, allowing them to: Build and run projects Control the iOS Simulator (or Device Hub) Launch and control Instruments
2
0
439
Hello everyone, I am encountering an inconsistent typography behavior when developing for WidgetKit. Specifically, there is no native serif font fallback for Chinese characters (CJK) in the Widget environment, whereas Latin characters are fully supported. When using the .serif design modifier in SwiftUI: Text(Hello 世界).font(.system(size: 16, design: .serif)) English/Latin characters (Hello): System correctly renders using the pre-installed serif font (New York). Chinese characters (世界): System ignores the .serif design and falls back to the default sans-serif font (PingFang SC). Can I find any pre-installed native serif font for CJK in iOS that I can reliably invoke within my Widget Extension without bundling .ttf files? If not, do you have plans to map Font.design(.serif) to a pre-installed CJK serif font in future iOS releases so I can maintain design consistency across my localized widgets? Thank you for any insights or recommended workarounds.
Topic:
App & System Services
SubTopic:
Widgets & Live Activities
Tags:
SwiftUI
Typography
Localization
Design
0
0
719
Dear Pankaj, Please see the following resources for supporting scenes on external displays: https://developer.apple.com/documentation/UIKit/transitioning-to-the-uikit-scene-based-life-cycle#Support-noninteractive-external-display-scenes https://developer.apple.com/documentation/uikit/presenting-content-on-a-connected-display https://developer.apple.com/documentation/uikit/specifying-the-scenes-your-app-supports https://developer.apple.com/documentation/metal/managing-your-metal-app-window-in-ipados Sample project: https://developer.apple.com/documentation/uikit/building-a-desktop-class-ipad-app While these are geared towards UIKit, there is analogous API support in SwiftUI for scenes, e.g.: https://developer.apple.com/documentation/swiftui/view/sceneaccessory(content:) https://developer.apple.com/documentation/swiftui/externalnoninteractiveaccessory In SwiftUI, you would pass to sceneAccessory(content:) a Window or WindowGroup to create an interactive window on an external
- Replies
- Boosts
- Views
- Activity
Hello, I filed FB23906760 requesting full Persian (fa-IR) system-language support across Apple platforms. A focused Swift/SwiftUI feasibility and QA sample is attached privately to that feedback report. Apple platforms already provide important building blocks for Persian, including Persian text input, Unicode rendering, locale-aware formatting, semantic right-to-left layout support, and Persian calendar APIs. However, Persian is not currently selectable as a complete system interface language on iOS, iPadOS, or macOS. The submitted app-level sample exercises: runtime RTL/LTR layout switching; canonical Persian Kaf (U+06A9) and Yeh (U+06CC); ZWNJ (U+200C) preservation; LRI/PDI isolation for mixed Persian and Latin content; Persian digits and numeric separators; Foundation Persian-calendar conversion and month names; English/Persian localization-key parity; and localized accessibility metadata. I want to clearly distinguish application localization from operating-system support: A Swift or SwiftUI
Topic:
App & System Services
SubTopic:
Internationalization
Tags:
Internationalization
Localization
iOS
macOS
- Replies
- Boosts
- Views
- Activity
I can add a sharper repro condition: this is specific to cloned simulators, not UI testing itself. Same XCUITest, same iOS 26.5 runtime, Xcode-managed parallel testing: Run serially on a normal simulator (-parallel-testing-enabled NO): the Files save sheet works, Save enables, test passes. Run with -parallel-testing-enabled YES (even with worker count 1, which still runs on a Clone 1 of iPhone… device): the save sheet opens, the filename is filled in, but the Save button is disabled from the first frame and never enables, and the document thumbnail never loads. Nothing app-side differs — the sheet is presented by SwiftUI fileExporter with a valid FileDocument. So happens only during UI testing in earlier replies is more precisely happens only on parallel-testing simulator clones — the local-storage file provider in a freshly cloned, test-hosted simulator appears unable to stage/write the document. The EXCLUDED_ARCHS workaround mentioned above doesn't apply in my case (project has no such setting). Wo
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
- Replies
- Boosts
- Views
- Activity
As insane as this may sound, I'm trying to write a spreadsheet app. I'm retired with 40+ years of mostly C device driver, networking type development and support. The model I'm using is Apple's Numbers and I'm currently experimenting with Table trying to mimic the look and feel of Numbers' sheet. I believe I have two choices: I can have one Table with the first row and first column different / special and this would imply that the very first element is also special. Numbers has a circle as the top leftmost element. The top row and first column are the identifiers of the rows and columns initially starting out as A, B, C ... and 1, 2, 3 .... The advantage of this method is Table would take care that the size of the top row (the width of the columns) would match the width and position of the rest of the cells of the table. Likewise, the height of the cells in the first column would always match and align with the cells of the table. The downside with this approach is that things like sorting and selecting would
Topic:
UI Frameworks
SubTopic:
SwiftUI
- Replies
- Boosts
- Views
- Activity
When switching to a SwiftUI app (built with Xcode 26.5) from an app with an active keyboard, the target app's tab bar incorrectly floats above the keyboard safe area. This layout issue occurs even though the target app does not display a keyboard and contains only a tab bar and scroll views.
- Replies
- Boosts
- Views
- Activity
If you call start() in a .task on the view instead of in the App's init, I believe you will see what you expect. So this is not a bad idea… but unfortunately does not quite get me what I would have hoped for. If I inspect the SwiftUI view lifecycle here: @main struct StateDemoApp: App { @State private var timer = Timer() init() { print(StateDemoApp init) self.timer.start() } var body: some Scene { WindowGroup { ContentView() .onAppear { print(StateDemoApp onAppear) } .task { print(StateDemoApp task) } } } } and then put additional print logs in ContentView itself I get the init log from StateDemoApp called before the init log from ContentView and the onAppear and task logs from StateDemoApp called after the onAppear and task logs from ContentView. Ideally I would like to start this Timer before ContentView might be doing something else with global state that might break if the Timer did not start first. I can also workaround by moving the Timer construction to init: @main struct StateDemoApp: App { @
Topic:
UI Frameworks
SubTopic:
SwiftUI
- Replies
- Boosts
- Views
- Activity
Hello @vanvoorden, I believe this is related to the Important note found in TN3211: Resolving SwiftUI source incompatibilities for State and ContentBuilder: Paraphrasing: Assigning to a @State property that already has an inline initial value is not supported and does not produce the expected behavior at runtime. I'm reaching out to some folks to see if this needs to be clarified further in the technote, clearly you are not assigning a value in your example, but I still believe what you are doing is producing unexpected behavior with the State macro due to the same underlying reason. I believe these prints are from your call to self.timer.start() in your App's init: ObjectIdentifier(0x0000000a22c245a0) init ObjectIdentifier(0x0000000a22c245a0) start ObjectIdentifier(0x0000000a22c245a0) deinit According to my theory, I don't believe the @State has actually been initialized at this point, so your call to start() actually initializes a Timer, starts it, and then as soon as that scope exits ARC destroys
Topic:
UI Frameworks
SubTopic:
SwiftUI
- Replies
- Boosts
- Views
- Activity
Are you able to share the RowView and HeaderView you are using? When I try this code, removing the Section doesn't make a difference. Are you able to simplify those views in a way that still reproduces the issue? I want to make sure it's not the way those views are defined. Since we are scrolling to content in a LazyVStack, consider: views that are off screen may be deallocated to achieve better performance. Lazy containers estimate the total content size and only render views as they approach the visible area — so I have a feeling at the same moment the system is interpreting the initial scroll position, the target view may still be in the process of being laid out or may not have been created yet, causing a race condition. We go in-depth into Lazy Stacks with Dive into lazy stacks and scrolling with SwiftUI from WWDC26, check out that session as there's tons of great info on a lazy stacks, which are useful in almost every project. Travis
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags:
- Replies
- Boosts
- Views
- Activity
Hello @xmollv, It appears SwiftUI prioritizes user gesture input over pragmatic scroll operations, like scrollTo. I haven't found this in writing explicitly, but it seems consistent and might be expected, rather than a bug. You can still file an enhancement request through Feedback Assistant with information on how this design impacts you. Bug Reporting: How and Why? explains how you can do that One idea to work around this is to store the target in state and execute scrollTo inside onScrollPhaseChange once the phase becomes .idle. The HIG for Scroll views includes some relevant UX considerations for automatic scrolling, this might help give you some ideas as well. Travis
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags:
- Replies
- Boosts
- Views
- Activity
Can somebody tell me if I'm doing something wrong or SwiftUI's scrollTo(id:anchor:) just doesn't work if the ScrollView is scrolling? I have a trivial example that demonstrates the issue: import SwiftUI @main struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } } struct Item: Identifiable { let id = UUID() let timestamp: Date let text: String } struct ContentView: View { @State private var items: [Item] = (0...10_000).map{ .init(timestamp: Date(), text: Row ($0)) } @State private var scrollPosition = ScrollPosition(idType: Item.ID.self) @State private var newMessage: String = var body: some View { ScrollView { LazyVStack { ForEach(items) { item in ItemView(item: item) } }.scrollTargetLayout() } .defaultScrollAnchor(.bottom, for: .initialOffset) .scrollPosition($scrollPosition, anchor: .bottom) .safeAreaBar(edge: .bottom) { HStack { TextField(Type here, text: $newMessage, axis: .vertical) .textFieldStyle(.roundedBorder) Button(Send, action: { let trimmed = newMessage.tr
- Replies
- Boosts
- Views
- Activity
Hello Apple Developer Community, My name is Chris, and I’m an independent developer building games, educational tools, and utility apps for Apple platforms. I’d like to share some of the applications I have released so far: ADVENT Text Game for Mac A retro-inspired text adventure designed specifically for macOS. View on the App Store ADVENT Text Game for iPhone and iPad Explore mysterious caves, discover hidden passages, collect treasures, and solve puzzles in a classic-inspired text adventure. View on the App Store iFrappe View on the App Store China Driving Exam Trainer A study and practice application for learners preparing for the Chinese driving licence theory examination. View on the App Store Ur: The Royal Game A digital interpretation of the ancient Royal Game of Ur. View on the App Store I’m also currently developing Steel Maze, a retro maze-based tank battle game for iPhone, iPad, and Mac. Each project has helped me explore different parts of Apple development, including SwiftUI, SpriteKit,
- Replies
- Boosts
- Views
- Activity
I might have run in to the same problem, though I initially attributed it to the 27 beta of XCode / macOS (reported as FB23688931). (This was with mostly the default SwiftUI + SwiftData + CloudKit template app, though I added the iCloud capability and enabled CloudKit. The app came with the “App Sandbox” capability configured by default). After verifying the fix with the print(CKRecord.self) as suggested above, I worked around the issue by explicitly adding “CloudKit.framework” to the “Link Binary With Libraries” setting under “Build Phases” which also fixed the problem.
Topic:
App & System Services
SubTopic:
iCloud
Tags:
- Replies
- Boosts
- Views
- Activity
I have an iOS 17+ app (SwiftUI lifecycle, @UIApplicationDelegateAdaptor) with the granted com.apple.developer.carplay-communication entitlement. It's a voice-message app for family (leave/listen to short audio messages). The app does not appear in Settings → General → CarPlay, nor on the CarPlay Home grid, on a real head unit — across multiple TestFlight builds and full phone reboots. The iPhone app itself launches fine. Verified: The App Store distribution provisioning profile carries com.apple.developer.carplay-communication. The build is signed with that entitlement. Info.plist declares a CPTemplateApplicationSceneSessionRoleApplication scene with UISceneClassName = CPTemplateApplicationScene, a UISceneConfigurationName, and UISceneDelegateClassName pointing to a CPTemplateApplicationSceneDelegate. The delegate synchronously sets a root CPListTemplate in templateApplicationScene(_:didConnect:). My questions: Does a CarPlay Communication app require SiriKit messaging support (INSendMessageIntent, I
- Replies
- Boosts
- Views
- Activity
The new MCP support for Coding Assistant in Xcode is a fantastic addition. It makes it much easier to work with AI directly inside Xcode, and it’s exciting to see Apple embracing AI-assisted development. However, many developers are now using external AI coding agents—such as Claude Code, Codex, and other terminal-based agents—as their primary development interface. In practice, much of the development workflow has shifted away from manually editing code in Xcode. Instead, developers collaborate with AI agents from the terminal (for example, using tmux), while the agents generate code, modify project settings, write tests, and perform many other development tasks. What these agents are missing is direct access to Xcode itself. It would be incredibly valuable if external AI coding agents could communicate with Xcode through an official MCP server, a CLI, or a dedicated automation API. For example, allowing them to: Build and run projects Control the iOS Simulator (or Device Hub) Launch and control Instruments
- Replies
- Boosts
- Views
- Activity
Hello everyone, I am encountering an inconsistent typography behavior when developing for WidgetKit. Specifically, there is no native serif font fallback for Chinese characters (CJK) in the Widget environment, whereas Latin characters are fully supported. When using the .serif design modifier in SwiftUI: Text(Hello 世界).font(.system(size: 16, design: .serif)) English/Latin characters (Hello): System correctly renders using the pre-installed serif font (New York). Chinese characters (世界): System ignores the .serif design and falls back to the default sans-serif font (PingFang SC). Can I find any pre-installed native serif font for CJK in iOS that I can reliably invoke within my Widget Extension without bundling .ttf files? If not, do you have plans to map Font.design(.serif) to a pre-installed CJK serif font in future iOS releases so I can maintain design consistency across my localized widgets? Thank you for any insights or recommended workarounds.
Topic:
App & System Services
SubTopic:
Widgets & Live Activities
Tags:
SwiftUI
Typography
Localization
Design
- Replies
- Boosts
- Views
- Activity