Skip to content

Commit 7e56edd

Browse files
committed
feat: add support for watchOS and tvOS with light version of design toolbox (#127)
Add supports of tvOS 16.6 and watchOS 11.6 with lighter version of design toolbox. Assisted-by: Claude Sonnet 4 (Dinootoo) Signed-off-by: Pierre-Yves Lapersonne <[email protected]>
1 parent 9f3c58d commit 7e56edd

File tree

105 files changed

+5445
-638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+5445
-638
lines changed

.github/workflows/build-and-test.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,15 @@ jobs:
6363
run: |
6464
bundle install
6565
66-
- name: Build demo app (iOS, macOS, visionOS)
66+
- name: Build demo app (iOS, macOS, visionOS, watchOS, tvOS)
6767
run: |
6868
cd DesignToolbox
6969
xcrun simctl list # List available simulators
7070
bundle exec fastlane ios build_debug
7171
bundle exec fastlane mac build_debug
7272
bundle exec fastlane vision build_debug
73+
bundle exec fastlane watch build_debug
74+
bundle exec fastlane tv build_debug
7375
7476
# Test the app with unit tests
7577
unit-test:
@@ -145,4 +147,4 @@ jobs:
145147
run: |
146148
cd DesignToolbox
147149
xcrun simctl list # List available simulators
148-
bundle exec fastlane ios test_snapshots
150+
bundle exec fastlane ios test_snapshots

AGENTS.md

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This file provides guidance to AI coding agents when working with code in this r
77
OUDS means Orange Unified Design System and is the new cohesive and unified design system for Orange Group.
88
It provides a Swift Package and a demo application (this repository) called Design System Tooblox which embeds the Swift Package to expose its public API.
99
The project is open source under MIT license and hosted on GitHub in Orange-OpenSource organization.
10-
The products support iOS 15, iPadOS 15, macOS 15 and visionOS 1.
10+
The products support iOS 15, iPadOS 15, macOS 15, visionOS 1, watchOS 11 and tvOS 16.
1111
The products are written in Swift with SwiftUI as UI framework and Swift 6 (format, grammar and concurrency).
1212

1313
## Vocabulary
@@ -29,7 +29,7 @@ The source code is formatted for Swift 6.2. Configuration of formater is in `.sw
2929

3030
### DesignToolbox
3131

32-
Contains the sources of the Design System Toolbox app
32+
Contains the sources of the Design System Toolbox app for iOS, iPadOS, macOS and visionOS.
3333

3434
### DesignToolboxUITests
3535

@@ -43,9 +43,13 @@ Contains the sources of snapshots tests, i.e. unit tests where there are compari
4343

4444
Contains the sources of some unit tests.
4545

46+
### DesignToolbox (Light)
47+
48+
Contains source code of the design toolbox app but only for watchOS and tvOS as a light version with few configurations possibilities and more catalogs of components displayed in one time.
49+
4650
## Architecture details
4751

48-
The Design System Toolbox is quite simple and must be usable in iOS, iPadOS, macOS and visionOS.
52+
The Design System Toolbox is quite simple and must be usable in iOS, iPadOS, macOS, visionOS and watchOS.
4953

5054
### Pages
5155

@@ -87,7 +91,11 @@ Here are assets, images, HTML files like legal notices and fonts.
8791
- Use Swift's type system for safety
8892
- Use public modifier only when needed, prefer internal or private
8993
- **IMPORTANT**: The project supports iOS 26 SDK while maintaining iOS 15 as the minimum deployment target. Use `#available` checks when adopting iOS 15+ APIs.
90-
- **IMPORTANT**: The project runs for iOS / iPadOS, macOS and visionOS. Use `#if os` checks to compile only code avaialble for specific API
94+
- **IMPORTANT**: Use `#available` checks when adopting watchOS 11.6+ APIs.
95+
- **IMPORTANT**: Use `#available` checks when adopting visionOS 1.3+ APIs.
96+
- **IMPORTANT**: Use `#available` checks when adopting macOS 15.6+ APIs.
97+
- **IMPORTANT**: Use `#available` checks when adopting tvOS 16.6+ APIs.
98+
- **IMPORTANT**: The project runs for iOS / iPadOS, macOS, visionOS abd watchOS. Use `#if os` checks to compile only code avaialble for specific API
9199
- If a third party dependency is added or updated, update the Software Bill of Material
92100
- If a third party dependency is added or updated, update the 3rd parties list in the Design System Toolbox
93101
- Apply Clean Code, DRY, SOLID and TDD principes
@@ -103,7 +111,7 @@ Here are assets, images, HTML files like legal notices and fonts.
103111

104112
- Minimum Swift 6.2
105113
- Xcode 26 or later
106-
- Minimum deployment: iOS 15.0, iPad 0S 15.0, macOS 15.0, visionOS 1.0
114+
- Minimum deployment: iOS 15.0, iPad0S 15.0, macOS 15.6, visionOS 1.3, watch0S 11.6, tvOS 16.6
107115
- Apple Developer account for device testing
108116

109117
## Building commands
@@ -125,6 +133,16 @@ To build the Design System Toolbox app for visionOS:
125133
bundle exec fastlane vision build_debug
126134
```
127135

136+
To build the Design System Toolbox app for watchOS:
137+
```shell
138+
bundle exec fastlane watch build_debug
139+
```
140+
141+
To build the Design System Toolbox app for tvOS:
142+
```shell
143+
bundle exec fastlane tv build_debug
144+
```
145+
128146
### Run tests
129147

130148
To run the snapshot tests (only supported for iOS):
@@ -159,6 +177,16 @@ To check for dead code for visionOS:
159177
bundle exec fastlane vision check_dead_code
160178
```
161179

180+
To check for dead code for watchOS:
181+
```shell
182+
bundle exec fastlane watch check_dead_code
183+
```
184+
185+
To check for dead code for tvOS:
186+
```shell
187+
bundle exec fastlane tv check_dead_code
188+
```
189+
162190
### Format the sources
163191

164192
To format the source code:

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/compare/0.21.0...develop)
88

9+
### Added
10+
11+
- [DesignToolbox] Support of `watchOS`
12+
913
### Changed
1014

1115
- [Library] Update `text input` to display the label on two lines and in the middle when no placeholder and one line at top otherwise (Orange-OpenSource/ouds-ios#1086)
@@ -14,6 +18,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1418

1519
- [DesignToolbox] `CocoaPods` tool (Orange-OpenSource/ouds-ios#1103)
1620

21+
### Fixed
22+
23+
- [DesignToolbox] Missing or badly named parameters in code samples of components
24+
1725
## [0.21.0](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/compare/0.20.0...0.21.0) - 2025-11-05
1826

1927
### Added
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"color" : {
55
"platform" : "universal",
6-
"reference" : "systemMintColor"
6+
"reference" : "systemOrangeColor"
77
},
88
"idiom" : "universal"
99
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"images" : [
3+
{
4+
"filename" : "UDSDemo-DEBUG_SQR.png",
5+
"idiom" : "universal",
6+
"platform" : "watchos",
7+
"size" : "1024x1024"
8+
}
9+
],
10+
"info" : {
11+
"author" : "xcode",
12+
"version" : 1
13+
}
14+
}
27.4 KB
Loading
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"info" : {
3+
"author" : "xcode",
4+
"version" : 1
5+
}
6+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"images" : [
3+
{
4+
"extent" : "full-screen",
5+
"filename" : "UDSDemo-DEBUG_SQR.png",
6+
"idiom" : "tv",
7+
"minimum-system-version" : "11.0",
8+
"orientation" : "landscape",
9+
"scale" : "2x"
10+
},
11+
{
12+
"extent" : "full-screen",
13+
"filename" : "UDSDemo-DEBUG_SQR 1.png",
14+
"idiom" : "tv",
15+
"minimum-system-version" : "9.0",
16+
"orientation" : "landscape",
17+
"scale" : "1x"
18+
}
19+
],
20+
"info" : {
21+
"author" : "xcode",
22+
"version" : 1
23+
}
24+
}
27.4 KB
Loading
27.4 KB
Loading

0 commit comments

Comments
 (0)