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 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"))
]
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
.
Since most functions in NextcloudKit involve a server call, you can mock the Alamofire session request. For that we use Mocker.
To run integration tests, you need a docker instance of a Nextcloud test server. This is a good start.
- 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)"
}
- Run the integration tests.
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/