Installation
Installation
Section titled “Installation”This repository exposes two primary consumer paths:
- Android via Maven Central using
com.deepdots.sdk:shared-android - iOS via Swift Package Manager using the binary package manifest
DeepdotsSDK
Requirements
Section titled “Requirements”- Android apps compile against Java 17 in this repository
- Android example apps use
minSdk = 24 - iOS distribution targets iOS 13+
- The shared SDK module namespace is
com.deepdots.sdk
Android
Section titled “Android”Add the published dependency:
dependencies { implementation("com.deepdots.sdk:shared-android:0.3.0")}The Android example app in this repository uses that exact coordinate.
Android example commands
Section titled “Android example commands”./gradlew :example-android:assembleDebug./gradlew :example-android:installDebugThe checked-in SPM manifest is binary-based and currently named DeepdotsSDK. It exposes the library product DeepdotsSDK.
import PackageDescription
let package = Package( name: "DeepdotsSDK", platforms: [ .iOS(.v13) ], products: [ .library(name: "DeepdotsSDK", targets: ["DeepdotsSDK"]) ])iOS example workflow in this repository
Section titled “iOS example workflow in this repository”The iOS demo project resolves a local package from spm-local/. If the local XCFramework is missing, regenerate it first:
./run_ios_example.shTo resolve and build from Xcode tooling:
cd iosAppxcodebuild -resolvePackageDependencies -project iosApp.xcodeproj -scheme iosApp -destination 'generic/platform=iOS Simulator'xcodebuild -scheme iosApp -project iosApp.xcodeproj -destination 'platform=iOS Simulator,name=iPhone 16e' buildPublic versus internal packaging details
Section titled “Public versus internal packaging details”- Public consumer detail: Android dependency coordinate and iOS SPM package/product names
- Maintainer detail: release scripts in
scripts/prepare_sdk_release.sh,scripts/prepare_spm_release.sh, andscripts/prepare_maven_upload_zip.sh
Those maintainer scripts are part of the repository, but they are release-tooling oriented rather than end-user integration steps.