Structure
IPAUploadService
Coordinates the IPA upload to App Store Connect / TestFlight.
struct IPAUploadServiceOverview
Uses xcrun altool --upload-app (the standard Apple CLI tool) to upload the binary, then resolves the resulting build ID from the ASC REST API. The /v1/builds REST endpoint does not support CREATE; all actual IPA uploads must go through altool / Transporter.
Key file placement: altool --apiKey looks for the p8 key at ~/.appstoreconnect/private_keys/AuthKey_<KEY_ID>.p8. If the key isn’t already there, this service writes it to that path for the duration of the upload and removes it on completion.
Topics
Structures
struct ResultResult of a completed IPA upload.
Initializers
init(client: AppStoreConnectClient, pollMaxAttempts: Int, pollDelaySeconds: UInt64)Creates an
IPAUploadServicebound to an ASC client.
Instance Methods
func uploadIPA(at: URL, bundleID: String, context: ActionContext, resolveBuildID: Bool) async throws -> IPAUploadService.ResultUploads an IPA file for the given bundle identifier.
Relationships
Conforms To
Swift.SendableSwift.SendableMetatype