Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

mobilejazz/harmony-swift

Repository files navigation

MJ Harmony logo

Harmony Swift

Harmony is a framework developed by Mobile Jazz that specifies best practices, software architectural patterns and other software development related guidelines.

Documentation · Kotlin · TypeScript · PHP

Supported platforms Harmony Cocoapods Carthage Compatible SPM Compatible Mobile Jazz twitter GitHub license

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

CocoaPods

Harmony is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'Harmony', '~> 2.0.2'

For unit test, you can use the following pod:

pod 'HarmonyTesting', '~> 2.0.2'

Carthage

github "mobilejazz/harmony-swift" "2.0.2"

Resolve dependencies carthage update --use-xcframeworks --platform iOS and add Harmony.xcframework to your project. For unit test, add HarmonyTesting.xcframework in your build phase of your testing target.

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/mobilejazz/harmony-swift", .upToNextMajor(from: "2.0.2"))
]

This package includes two libraries: Harmony and HarmonyTesting.

Development

First of all, run to resolve the dependencies.

carthage update --use-xcframeworks --platform [iOS|macOS] --no-use-binaries

The development of the library is done using Carthage. For this, we use the .xcodeproj. Including the unit tests.

If we want to use the Example for Harmony development, open Example/Harmony.xcworkspace. Example uses Cocoapods to resolve the dependency on Harmony. Any new dependencies must be added in the Harmony .podsec. This way it will be available for both development and distribution of the library. Later, we must add the dependencies in Carthage and SPM as well.

Any dependencies used for Example development, for example Kingfisher for downloading images, must be added in the Podfile and not in the .podspec.

Important!

All the new dependencies must be added in all the package managers we support (Carthage, Cocoapods and SPM).

Author

Mobile Jazz, [email protected]

API Reference

https://harmony.mobilejazz.com/docs/introduction

License

Harmony is available under the Apache 2.0 license. See the LICENSE file for more info.