Files
purchases-ios/Projects/PaywallValidationTester/Project.swift
T
Chris Lindsay ae1757d487 Add an app to run paywall validation tests locally (#5370)
* Refactor loading of paywall preview resources into its own file.

* Add a new PaywallValidationTester app that displays the paywalls from the validation test set.

* Add the ability to optionally specify an offering ID to preview.

* Fix Mac Catalyst build.

* Give a consistent ordering to the paywalls.

* Put the offering ID in the window title

* Switch to displaying optimized for Mac version.

* Add ability to specify an offering ID as an environment variable.

* Don't leave the individual offering ID in by default.

* Fix linter errors.

* Convert PaywallValidationTester from folder reference to a group.

Attempt to fix build in Xcode 15.2.
2025-07-22 20:36:22 +00:00

60 lines
1.7 KiB
Swift

import Foundation
import ProjectDescription
import ProjectDescriptionHelpers
let allDestinations: Destinations = [
.iPhone,
.iPad,
.mac,
.macWithiPadDesign,
.macCatalyst,
.appleVision,
.appleVisionWithiPadDesign
]
let allDeploymentTargets: DeploymentTargets = .multiplatform(
iOS: "18.5",
macOS: "15.5",
visionOS: "2.5"
)
let project = Project(
name: "PaywallValidationTester",
organizationName: .revenueCatOrgName,
settings: .appProject,
targets: [
.target(
name: "PaywallValidationTester",
destinations: allDestinations,
product: .app,
bundleId: "com.revenuecat.PaywallValidationTester",
deploymentTargets: allDeploymentTargets,
infoPlist: "../../Tests/TestingApps/PaywallValidationTester/Info.plist",
sources: [
"../../Tests/TestingApps/PaywallValidationTester/**/*.swift",
"../../Tests/RevenueCatUITests/PaywallsV2/PaywallPreviewResourcesLoader.swift"
],
resources: [
.folderReference(path: "../../Tests/paywall-preview-resources"),
"../../Tests/RevenueCatUITests/Resources/header.heic",
"../../Tests/RevenueCatUITests/Resources/background.heic"
],
dependencies: [
.revenueCat,
.revenueCatUI
]
)
],
schemes: [
.scheme(
name: "PaywallValidationTester",
shared: true,
buildAction: .buildAction(targets: ["PaywallValidationTester"]),
runAction: .runAction(
configuration: "Debug",
executable: "PaywallValidationTester"
)
)
]
)