Skip to content

UIKit and AppKit controls for building native Microsoft experiences

License

Notifications You must be signed in to change notification settings

CatStudioApp/fluentui-apple

 
 

Repository files navigation

Fluent UI Apple

Fluent UI Apple contains native UIKit and AppKit controls aligned with Microsoft's Fluent UI design system.

Build Status Localization Status CocoaPod Publishing Build Status License Carthage Compatible CocoaPods Compatible Platform

Getting Started

Install and use FluentUI

Requirements

  • iOS 13+ or macOS 10.14+
  • Xcode 11+
  • Swift 5.0+

Using Carthage

To integrate FluentUI using Carthage, specify it in your Cartfile:

github "Microsoft/fluentui-apple" ~> X.X.X

then follow the Carthage integration steps to add the FluentUI.framework into your Xcode project

Using CocoaPods

To get set up with CocoaPods visit their getting started guide.

To integrate FluentUI into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'MicrosoftFluentUI', '~> X.X.X'

Manual installation

  • Download the latest changes from the FluentUI for Apple repository.
  • Move the fluentui-apple folder into your project folder.
  • Move the relevant FluentUI.xcodeproj into your Xcode project depending on which platform you want to support.
  • In Xcode select your project -> your target -> General -> Embedded Binaries -> add FluentUI.framework.

Swift Package Manager

As of this writing, the version of Swift Package Manager shipped with the latest Xcode does not support packages that require resource bundles. As Fluent UI Apple does require resource bundles, we do not currently support Swift Package Manager.

Import and use FluentUI

After the framework has been added you can import the module to use it:

For Swift

import FluentUI

For Objective-C

#import <FluentUI/FluentUI.h>

Contributing

Post bug reports, feature requests, and questions in Issues.

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

CocoaPods Setup

If you are using Apple Silicon M1 machine then you need to install ffi in addition to CocoaPods. More details about the issue can be found here.

sudo arch -x86_64 gem install ffi

To execute any pod command on M1 machine you need to specify the architecture of the machine explicitly

arch -x86_64 pod lib lint

Developing in the repo

Fluent UI Apple requires all pull requests to come from forks of the repository. Please see Fork a Repo - GitHub Help for more details on how to set up a fork of Microsoft/fluentui-apple, keep it up-to-date, and submit pull requests back to this repository.

Fluent UI Apple doesn't have any external code dependencies, so developing in the repository is as easy as launching the appropriate Xcode project or workspace and building and running a test app.

For more platform-specific information, please see the iOS readme file and the the macOS readme file.

Swift Lint

This project uses SwiftLint to automatically lint our Swift code for common errors. Please install it when developing in this repo by following the SwiftLint Installation Instructions.

Changelog

We use GitHub Releases to manage our releases, including the changelog between every release. You'll find a complete list of additions, fixes, and changes on the Releases page.

License

All files on the FluentUI Apple GitHub repository are subject to the MIT license. Please read the LICENSE file at the root of the project.

Usage of the logos and icons referenced in FluentUI Apple is subject to the terms of the assets license agreement.

About

UIKit and AppKit controls for building native Microsoft experiences

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 97.7%
  • Shell 1.1%
  • Other 1.2%