# ouds-ios
**Repository Path**: mirrors_Orange-OpenSource/ouds-ios
## Basic Information
- **Project Name**: ouds-ios
- **Description**: A Swift Package of SwiftUI components library for Orange Unified Design System
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-07-10
- **Last Updated**: 2026-09-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
OUDS iOS
OUDS iOS provides SwiftUI components to Orange developers
Build Sharper. Ship faster. Perform better.
Report bug
·
Request feature
·
Swift documentation
·
Wiki
·
Design system
·
Design system toolbox
## ⚙️ Status
[](https://github.com/Orange-OpenSource/ouds-ios/blob/main/LICENSE)
[](https://github.com/Orange-OpenSource/ouds-ios/releases)
[](https://github.com/Orange-OpenSource/ouds-ios/issues?q=is%3Aissue+is%3Aclosed)
[](https://github.com/Orange-OpenSource/ouds-ios)
[](https://github.com/Orange-OpenSource/ouds-ios/issues)






[](https://swiftpackageindex.com/Orange-OpenSource/ouds-ios)
[](https://developer.apple.com/documentation/xcode-release-notes/xcode-26_4-release-notes)
[](https://openhub.net/p/ouds-ios)
## ℹ️ About OUDS
OUDS means *Orange Unified Design System*.
This is a new design system, again, but _unified_, trying to merge all requirements of Orange brands and affiliates so as to provide a unique design system, unified across all platforms and for all countries, companies, users and apps.
Guidelines for TV, Android, iOS and web environments will be merged in a "cohesive" approach, and any Orange-related softwares including brand apps like *Parnasse* and *Sosh*, *Orange Innovation Cup* apps and Orange countries and affiliates app will use this project in the future.
The project is open source (except some assets) and topics like accessibility and ecodesign are also considered.
It replaces internal frameworks and also [ODS](https://github.com/Orange-OpenSource/ods-ios) as the only one design system for Orange group and affiliates.
> [!CAUTION]
> This Swift Package is dedicated to SwiftUI. UIKit and other frameworks are not supported.
> [!NOTE]
> Main targets are iOS / iPadOS, and we do our best to support macOS, visionOS, tvOS and watchOS!
## 🚀 Quick start
You can try our [Swift Package online tutorials](https://ios.unified-design-system.orange.com/documentation/) which will explain how to embed and use OUDS iOS Swift Package for your app.
### Choose your version
You can find available releases on [GitHub releases](https://github.com/Orange-OpenSource/ouds-ios/releases).
The wiki contains also a page [listing the available API](https://github.com/Orange-OpenSource/ouds-ios/wiki/01-%E2%80%90-Available-API).
Versions, builds and releases are explained [also in this page](https://github.com/Orange-OpenSource/ouds-ios/wiki/50-%E2%80%90-About-versions,-releases-and-builds).
### Add the dependency (Swift Package Manager)
First, you must add as _package dependency_ of your _project_ the URL of this _Swift Package_ GitHub repository:
```text
https://github.com/Orange-OpenSource/ouds-ios
```
You can choose the _dependency rule_ you want. Keep in mind OUDS iOS releases are frozen and are based on semantic versioning.
In your Xcode _targets_, add the libraries you need. Everything is splitted so as to let users choose the content to embed they want.
The `OUDSSwiftUI` library embeds everything, but you may prefer instead tailor your imports.
The `OUDSSwiftUIOrangeSosh` library alsmo everything but not the `Orange Compact` and `Wireframe` themes.
You can get the [detailed list of available libraries in the documentation](https://ios.unified-design-system.orange.com/documentation/oudsthemescontract/gettingstarted).
More technical details [in the wiki](https://github.com/Orange-OpenSource/ouds-ios/wiki/30-%E2%80%90-About-the-architecture#the-ouds-ios-swift-package).
### Add the dependency (XCFramework)
Get the XCFramework ZIP file from the [GitHub releases](https://github.com/Orange-OpenSource/ouds-ios/releases) of the version you want.
Uncompress the ZIP, and if you want check its checksum or cryptographic signature.
Otherwise uncompress the XCFramework ZIP, and drag and drop all the XCFrameworks (~10) in your Xcode project.
Associate them to the target(s) you want.
And, in your source xcode, when you use OUDS items, import **OUDSSwiftUIOrangeSosh**.
> [!NOTE]
> XCFramework is not the prefered solution to use OUDS.
> Thus the XCFramework available are tailored for iOS platform with only Orange and Sosh themes.
> For more evolutions feel free to contact the maintainers.
### Instanciate and inject theme
In the root view of your app, add the `OUDSThemeableView` with inside the _theme_ object you want to apply.
You can instanciate the theme object on the fly, but only once.
```swift
@main
struct YourApp: App {
var body: some Scene {
WindowGroup {
OUDSThemeableView(theme: theTheme) { // theTheme can be: OrangeTheme(), SoshTheme(), WirefameTheme(), etc.
AppRootView() // Add your app root view here
}
}
}
}
```
Feel free to read the [online documentation](https://ios.unified-design-system.orange.com/documentation/oudsthemescontract/gettingstarted).
You can find also [more details about theme instanciations online](https://ios.unified-design-system.orange.com/documentation/oudsthemescontract/themes).
### Get the theme
If you need to get configuration details from the theme (colors, dimensions, etc.), get the theme through _environment object_:
```swift
@Environment(\.theme) var theme
```
### Use the components
Import the `OUDSComponents` library and instanciate the component you need. All of them are described [in the online documentation (and grouped by categories)](https://ios.unified-design-system.orange.com/documentation/oudscomponents).
The wiki lists also [the components and their availability](https://github.com/Orange-OpenSource/ouds-ios/wiki/01-%E2%80%90-Available-API).
## 📦 Content
> [!NOTE]
> This repository contains the OUDS iOS library, as a Swift Package, that provides Orange iOS components for its unified design system.
>
> You can find the [detailed technical documentation online](https://ios.unified-design-system.orange.com/),
> and also the [whole design system](https://unified-design-system.orange.com/).
>
> Details about the project are also [available in the wiki](https://github.com/Orange-OpenSource/ouds-ios/wiki).
>
> You can find the [available API online on the wiki](https://github.com/Orange-OpenSource/ouds-ios/wiki/01-%E2%80%90-Available-API).
> [!IMPORTANT]
> The design system toolbox app, i.e. the showcase app, is [on Orange-OpenSource/ouds-ios-design-system-toolbox](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox).
> [!TIP]
> Releases are immutable and in most of time cryptographically signed (commits, tags and artifacts).
> You can verify their integrity with commands from GPG tool of GitHub CLI client.
> Please [refer to the wiki to choose the options you need](https://github.com/Orange-OpenSource/ouds-ios/wiki/50-%E2%80%90-About-versions,-releases-and-builds#tags-commits-releases-and-artifacts-signature)
## 📦 Binary distribution (XCFramework)
In addition to the standard Swift Package distribution, OUDS is also published as a **dynamic XCFramework** for the `OUDSSwiftUIOrangeSosh` umbrella product.
This distribution is intended to solve the duplication / symbol-conflict problem that appears when several third-party XCFrameworks each embed
their own copy of OUDS in the same application.
- Artefacts (`OUDSSwiftUIOrangeSosh-.xcframework.zip` + SHA-256) are attached to [GitHub Releases][https://github.com/Orange-OpenSource/ouds-ios/releases].
- SPM remains the primary distribution channel; the XCFramework is an opt-in additional artefact. [Open a discussion for more evolutions](https://github.com/Orange-OpenSource/ouds-ios/discussions/categories/return-of-experience-and-feedbacks).
- Unzip the XCFramework archive, add all 10 XCFrameworks to your Xcode project, embed and sign only `OUDSSwiftUIOrangeSosh`, and import that dependency. `OrangeCompact` and `Wireframe` themes are not shipped.
## 🧬 Tokens libraries versions
> [!TIP]
> This Swift package embeds specific versions of themes / tokens libraries.
> You can find more details in the online documentation and also in the wiki.
- Core OUDS version: 1.11.0
- Core Orange version: 1.2.0
- Brand Orange version: 2.7.0
- Core Sosh version: 1.4.0
- Brand Sosh version: 2.7.0
- Core Wireframe version: 1.5.0
- Brand Wireframe version: 2.7.0
- Brand Orange Compact version: 2.7.0
## 🪲 Bugs, feature requests and discussions
Have a bug or a feature request? Please first search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/Orange-OpenSource/ouds-ios/issues/new/choose).
If you want to share ideas or discuss about API, features, components or other topics, you should first open a new discussion.
[Q&A](https://github.com/Orange-OpenSource/ouds-ios/discussions/categories/q-a) is more dedicated for help, otherwise feel free to open or update a topic in [Ideas](https://github.com/Orange-OpenSource/ouds-ios/discussions/categories/ideas).
Keep in mind internal or sensitive discussions must be in internal tools, not public ones.
If your discussions, requests or issues are about the design system toolbox application, [use instead its GitHub project](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox).
## 🤝 Contributing
Please read through our [contributing guidelines](https://github.com/Orange-OpenSource/ouds-ios/blob/main/.github/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development. More technical details are available also in the [DEVELOP](https://github.com/Orange-OpenSource/ouds-ios/blob/main/.github/DEVELOP.md) file.
## 🔒 Data and privacy
The Orange Unified Design System library is a Software Development Kit (SDK) that allows developpers to create Orange branded mobile applications.
As such:
- this SDK does not handle any personnal data
- this SDK does not require any device permission to work
## ⚖️ Copyright and license
Code released under the [MIT License](https://github.com/Orange-OpenSource/ouds-ios/blob/main/LICENSE).
For images and other assets, please [refer to the NOTICE.txt](https://github.com/Orange-OpenSource/ouds-ios/blob/main/NOTICE.txt).
## 📱 Design Toolbox App
Flash the QrCode below or click on it to download the *Design System Toolbox* app.