Skip to content

Structure

AssetUploader

Handles the multi-step asset upload protocol for App Store Connect.

struct AssetUploader

Upload Flow

  1. Reserve the asset to get upload operations

  2. Stream binary data in parts to presigned S3 URLs

  3. Commit the upload with MD5 checksum verification

Assets are streamed from disk in chunks — the file is never fully loaded into memory, making this safe for large IPAs (200 MB+). Supports automatic retry with exponential backoff on transient part failures.

Usage

let uploader = AssetUploader()
let commit = try await uploader.upload(fileURL: ipaURL, to: reservation) { progress in
    print("Upload progress: \(Int(progress * 100))%")
}

Topics

Initializers

Instance Methods

Relationships

Conforms To

  • Swift.Sendable
  • Swift.SendableMetatype