Skip to content
This repository has been archived by the owner on May 17, 2024. It is now read-only.
/ AppCenterSwiftUI Public archive

Native App Center Client for Apple platforms made in SwiftUI

License

Notifications You must be signed in to change notification settings

mkj-is/AppCenterSwiftUI

Repository files navigation

App Center Client for iOS, macOS and tvOS in SwiftUI

Native client for VS App Center on Apple platforms. For simplying app installation for mobile QA teams and distributing internal builds.

This app was made as an experiment for learning SwiftUI and testing my implementation of uni-directional data flow/architecture.

Features

  • Three platforms: iOS, macOS and tvOS.
  • Login using your App Center account. 
  • List of apps and their releases.
  • Ability to install/download those releases.

Mac screenshot

iPad screenshot

Points of interest for a curious developer

  • Architecture & functional programming
    • Uni-directional architecture using Elementary framework.
    • Cross-platform core Swift package instead of a using Xcode framework target.
    • No-op functions for providing previews with no-op functions as callbacks instead of using many braces and underlines.
    • Lift operator to simplify passing of views as closures where no auto-closure annotation is present, to remove braces count in SwiftUI. Typical use-case is Button and its label.
  • SwiftUI
    • WebImage cross-platform view for loading and presenting image using URLSession and Combine.
    • System view for using different view hierarchies based on platform.
    • Modal view encapsulating button and modal sheet into one view.
    • ActivityIndicator adding UIViewController support to SwiftUI on iOS.
    • View+error view modifier for presentation of alert sheets if optional error is present.

Known issues

  • tvOS app does not work well just yet.
  • Selecting apps in split view on iPad crashes inside SwiftUI.

Contributing

All contributions are welcome.

Project was created by Matěj Kašpar Jirásek.

AppCenterSwiftUI client is available under the GNU GPL v3 license. See the LICENSE file for more info.

About

Native App Center Client for Apple platforms made in SwiftUI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published