3.5 KiB
App Store Connect Service (ASConnectService)
A Swift client library for the App Store Connect API, generated from the official OpenAPI specification.
Overview
ASConnectService provides a type-safe, Swift-native interface to Apple's App Store Connect API. This package enables developers to programmatically interact with App Store Connect services for managing apps, builds, reviews, sales reports, and more.
The library is automatically generated from the official App Store Connect API OpenAPI specification using Apple's swift-openapi-generator, ensuring complete API coverage and type safety.
Key Features
- Type-Safe API: Fully typed requests and responses based on the OpenAPI specification
- Async/Await Support: Modern Swift concurrency with
async/await - Cross-Platform: Supports iOS, macOS, tvOS, visionOS, and watchOS
- Automatic Generation: Code is generated from the official API specification
- Comprehensive Coverage: Access to all App Store Connect API endpoints
Installation
Swift Package Manager
Add ASConnectService as a dependency in your Package.swift file:
dependencies: [
.package(url: "https://github.com/rock-n-code/asconnect-service.git", from: "1.0.0")
]
Then add it to your target dependencies:
.target(
name: "YourTarget",
dependencies: [
"ASConnectService"
]
)
Basic Usage
import ASConnectService
import OpenAPIURLSession
// Create a client with your API key
let client = Client(
serverURL: try Servers.server1(),
transport: URLSessionTransport()
)
// Make API calls
let apps = try await client.apps_get()
Authentication
The App Store Connect API requires authentication using API keys. You'll need to:
- Create an API key in App Store Connect
- Generate a signed JWT token using your key ID, issuer ID, and private key
- Pass the token to the built-in
BearerAuthMiddlewarewhen creating the client
import ASConnectService
import OpenAPIURLSession
let client = Client(
serverURL: try Servers.server1(),
transport: URLSessionTransport(),
middlewares: [BearerAuthMiddleware(token: yourJWTToken)]
)
The BearerAuthMiddleware automatically injects the Authorization header with the Bearer token into every outgoing request.
Supported Platforms
- iOS 13.0+
- macOS 10.15+
- tvOS 13.0+
- visionOS 1.0+
- watchOS 6.0+
Development
Building
make lib-build
Testing
make lib-test
Generating Documentation
# Generate documentation archive (for Xcode)
make doc-generate-archive
# Generate documentation for static hosting (e.g. GitHub Pages)
make doc-generate-github
# Preview documentation locally in Safari
make doc-preview
Dependencies
License
Licensed under the Apache License, Version 2.0. See LICENSE file for details.
Contributing
See CONTRIBUTORS file for the list of project authors.
API Coverage
The package provides access to all App Store Connect API endpoints including:
- Apps and app management
- Builds and beta testing
- App Store reviews and ratings
- Sales and financial reports
- User and role management
- In-app purchases and subscriptions
- And many more...