Version: Next

Getting Started

Requirements

  • Xcode 10.3 or later
  • CocoaPods 1.4.0 or later
  • Target of iOS 10 or later
  • Swift 5+

Before You Begin

This SDK is stored in the private pod repo and developed for use with the Cloudike Backend. If you need access, please Contacts Us.

Installation

Add SDK to your app

The Cloudike Photos SDK is available through CocoaPods or XCFramework static library. To install it, simply add the following lines to your Podfile:

# Add Cloudike podspec to sources
source 'git@bitbucket.org:asdtech/pod_spec.git'
target 'YourApp' do
# Add CloudikePhotosKit as dependency to your target
pod 'CloudikePhotosKit', '~> 0.2.10'
end

Initialization

Initialization is performed in two stages.

Stage 1. Initialize library.

To initialize an instance of CloudikePhotos, you need to add the following calls:

var photos: CloudikePhotos?
let apiBaseURL = URL(string: "Base URL of the backend")!
let token = "Authentication token received during user login"
let userId = "User profile id"
let userAgent = "User agent string"
let core = CloudikeCore(apiBaseUrl: apiBaseURL)
core.applyUser(apiToken: token,
userId: userId,
deviceId: "Unique device id",
userAgent: userAgent)
let competitionSettings = CloudikePhotosSettings.CompetitionSettings(mode: .standalone,
appGroupId: nil,
lastActivityMaxInterval: 3600)
let settings = CloudikePhotosSettings(isPermissionsRequestAllowed: true,
competition: competitionSettings,
apiBaseURL: apiBaseURL,
apiUserId: userId,
apiToken: token,
userAgent: userAgent)
self.photos = CloudikePhotos(settings: settings, core: core)

Stage 2. Configuration.

To configure an instance of CloudikePhotos, you need to add the following calls:

let uploadSettings = CloudikeAutoUploadSettings(isAutoUploadEnabled: true, // auto upload on/off
is3gUploadEnabled: true, // cellular data upload allowed
isVideoUploadEnabled: true, // video upload allowed
minBatteryLevel: 0.3, // minimum battery charge for auto upload
maxRetryCount: 0, // the maximum number of attempts to upload a photo/video file to the cloud.
// If 0, then the number of attempts is not limited. If 1 - only one attempt is given, etc.
isPhotosUploadFirst: false // If true, photos will be uploaded first, then videos. If false, the priority is not defined.
)
self.photos.configureWithUploadSettings(uploadSettings) { (error) in
// completion block
}

Dependencies

Our SDK uses the following dependencies:

// ASDtech
pod 'CloudikeCoreKit', '1.0.0'