Apollon-iOS-Module is a SPM package containing different modules, which allow for creating, editing, and viewing UML diagrams across all Artemis-related iOS apps. This package is based on Apollon.
This package will be integrated into the following clients:
- Artemis iOS – Native iOS application for Artemis
- Themis – An iPad app that provides a comprehensive and optimized way for tutors to assess student submissions on the go.
- Apollon iOS - A standalone modeling application that allows users to freely create, edit, and view UML diagrams from the comfort of their iOS device.
- ApollonShared: Contains all data models used by Apollon
- ApollonRenderer: Contains all the rendering logic
- ApollonEdit: Allows for the editing of UML diagrams
- ApollonView: Allows for the viewing of UML diagrams
Figure: Subsystem decomposition of the Apollon-iOS-Module
.
In Project Settings, on the tab "Package Dependencies", click "+" and add https://github.com/ls1intum/apollon-ios-module
- Add a dependency in Package.swift:
dependencies: [
.package(url: "https://github.com/ls1intum/apollon-ios-module", .upToNextMajor(from: "1.0.2")),
]
- For each relevant target, add a dependency with the product name from section 1:
.target(
name: "Example",
dependencies: [
.product(name: "ApollonEdit", package: "apollon-ios-module"),
]
)
import ApollonEdit
ApollonEdit(umlModel: Binding<UMLModel>,
diagramType: UMLDiagramType,
fontSize: CGFloat,
themeColor: Color,
diagramOffset: CGPoint,
isGridBackground: Bool)
import ApollonView
ApollonView(umlModel: UMLModel,
diagramType: UMLDiagramType,
fontSize: CGFloat,
themeColor: Color,
diagramOffset: CGPoint,
isGridBackground: Bool,
@ViewBuilder content: () -> Content)