Skip to content

☎️ NextcloudKit library to build Nextcloud related Apple apps

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE.txt
Unknown
COPYING.iOS
Notifications You must be signed in to change notification settings

nextcloud/NextcloudKit

Repository files navigation

Logo of NextcloudKit

NextcloudKit

REUSE status

Installation

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate NextcloudKit into your Xcode project using Carthage, specify it in your Cartfile:

github "nextcloud/NextcloudKit" "main"

Run carthage update to build the framework and drag the built NextcloudKit.framework into your Xcode project.

Swift Package Manager

Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, adding NextcloudKit as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/Nextcloud/NextcloudKit.git", .upToNextMajor(from: "2.0.0"))
]

Manual

To add NextcloudKit to your app without Carthage, clone this repo and place it somewhere in your project folder. Then, add NextcloudKit.xcodeproj to your project, select your app target and add the NextcloudKit framework as an embedded binary under General and as a target dependency under Build Phases.

Testing

Unit Tests

Since most functions in NextcloudKit involve a server call, you can mock the Alamofire session request. For that we use Mocker.

Integration Tests

To run integration tests, you need a docker instance of a Nextcloud test server. This is a good start.

  1. In TestConstants.swift you must specify your instance credentials. The app token is automatically generated.
public class TestConstants {
    static let timeoutLong: Double = 400
    static let server = "http://localhost:8080"
    static let username = "admin"
    static let password = "admin"
    static let account = "\(username) \(server)"
}
  1. Run the integration tests.

Contribution Guidelines & License

GPLv3 with Apple app store exception.

Nextcloud doesn't require a CLA (Contributor License Agreement). The copyright belongs to all the individual contributors. Therefore we recommend that every contributor adds following line to the header of a file, if they changed it substantially:

@copyright Copyright (c) <year>, <your name> (<your email address>)

Please read the Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.

More information how to contribute: https://nextcloud.com/contribute/

About

☎️ NextcloudKit library to build Nextcloud related Apple apps

Topics

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE.txt
Unknown
COPYING.iOS

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages