Class
AppStoreConnectClient
Actor-isolated client for the App Store Connect REST API.
actor AppStoreConnectClientOverview
Manages JWT lifecycle (via JWTGenerator), enforces rate-limit backoff (via RateLimiter), and optionally routes through the ShipItSwifty Vapor proxy server when serverURL is set.
All methods are async throws; errors are typed as ShipItError.
Usage
let client = AppStoreConnectClient(
keyID: "2X9R4HXF34",
issuerID: "57246542-96fe-1a63-e053-0824d011072a",
privateKeyData: p8Data
)
let apps: ASCListResponse<ASCApp> = try await client.get("/v1/apps")Topics
Initializers
Instance Properties
let jwtGenerator: JWTGeneratorThe JWT token generator used for authentication.
let rateLimiter: RateLimiterThe rate limiter used to enforce Apple’s API rate limits.
Instance Methods
func get<T>(String, query: [String : String]) async throws -> TPerform a GET request and decode the response.
func patch<Body, Response>(String, body: Body) async throws -> ResponsePerform a PATCH request with a body and decode the response.
func post<Body, Response>(String, body: Body) async throws -> ResponsePerform a POST request with a body and decode the response.
func uploadAsset(at: URL, reservation: UploadReservation) async throws -> UploadCommitUpload an asset (IPA, screenshot, preview) using the multi-step protocol.
Default Implementations
Relationships
Conforms To
Swift.SendableSwift.SendableMetatype_Concurrency.Actor