Files
purchases-ios/swiftlint-baseline.json
Toni RicoandClaude Fable 5.1 937b71ef08 Regenerate SwiftLint baseline after #8076 (#8135)
Two public inits merged to main outside the baseline generated for
no_new_public_inits (#8021 and #8009), so the lint job fails on main.
Regenerating also drops three stale entries for @_spi(Internal) inits
that the final regex in #8076 no longer flags.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-28 21:23:40 +00:00

1 line
126 KiB
JSON

[{"violation":{"location":{"file":"AdapterSDKs\/RevenueCatAds\/Sources\/RevenueCatAds\/AdsConfiguration.swift","character":5,"line":23},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(apiKey: String? = nil, serverURL: URL? = nil) {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Abstractions\/CustomerCenterPreviewProvider.swift","character":5,"line":48},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(pathID: String, title: String, productID: String?, visible: Bool, reason: String) {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Data\/CustomActionData.swift","character":5,"line":70},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(actionIdentifier: String, purchaseIdentifier: String?) {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Data\/CustomerCenterAction.swift","character":1,"line":16},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum CustomerCenterAction {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Data\/CustomerCenterManagementOption.swift","character":1,"line":20},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum CustomerCenterManagementOption {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Data\/CustomerCenterManagementOption.swift","character":9,"line":51},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(actionIdentifier: String, purchaseIdentifier: String?) {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/CustomerCenterNavigationLink.swift","character":5,"line":65},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/CustomerCenterNavigationLink.swift","character":5,"line":97},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(@ViewBuilder label: @escaping () -> Label) {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/CustomerCenterNavigationOptions.swift","character":5,"line":63},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/CustomerCenterView.swift","character":5,"line":62},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/CustomerCenterView.swift","character":5,"line":75},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(navigationOptions: CustomerCenterNavigationOptions = .default) {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/UIKit Compatibility\/CustomerCenterViewController.swift","character":5,"line":60},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(delegate: CustomerCenterViewControllerDelegate?) {"},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/UIKit Compatibility\/CustomerCenterViewController.swift","character":5,"line":76},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/CustomerCenter\/Views\/UIKit Compatibility\/CustomerCenterViewController.swift","character":5,"line":123},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/Data\/CustomPaywallVariables.swift","character":5,"line":154},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(stringLiteral value: String) {"},{"violation":{"location":{"file":"RevenueCatUI\/Data\/CustomPaywallVariables.swift","character":5,"line":164},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(integerLiteral value: Int64) {"},{"violation":{"location":{"file":"RevenueCatUI\/Data\/CustomPaywallVariables.swift","character":5,"line":174},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(floatLiteral value: Double) {"},{"violation":{"location":{"file":"RevenueCatUI\/Data\/CustomPaywallVariables.swift","character":5,"line":184},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(booleanLiteral value: Bool) {"},{"violation":{"location":{"file":"RevenueCatUI\/Data\/TestData.swift","character":5,"line":948},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(stringLiteral value: StringLiteralType) {"},{"violation":{"location":{"file":"RevenueCatUI\/Helpers\/EmergeRenderingMode.swift","character":1,"line":9},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum EmergeRenderingMode: Int {"},{"violation":{"location":{"file":"RevenueCatUI\/Helpers\/ResumeAction.swift","character":5,"line":16},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(action: @escaping @Sendable (Bool) -> Void) {"},{"violation":{"location":{"file":"RevenueCatUI\/PaywallFontProvider.swift","character":5,"line":34},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init() {}"},{"violation":{"location":{"file":"RevenueCatUI\/PaywallFontProvider.swift","character":5,"line":84},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(fontName: String) {"},{"violation":{"location":{"file":"RevenueCatUI\/PaywallView.swift","character":5,"line":83},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/PaywallView.swift","character":5,"line":109},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/Templates\/V2\/PaywallsV2View.swift","character":5,"line":140},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallFooterViewController.swift","character":5,"line":43},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallFooterViewController.swift","character":5,"line":72},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallFooterViewController.swift","character":5,"line":93},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallFooterViewController.swift","character":5,"line":109},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallFooterViewController.swift","character":5,"line":144},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallViewController.swift","character":5,"line":193},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallViewController.swift","character":5,"line":271},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallViewController.swift","character":5,"line":303},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"RevenueCatUI\/UIKit\/PaywallViewController.swift","character":5,"line":330},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"RevenueCatUI\/View+PresentPaywall.swift","character":1,"line":23},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum PaywallPresentationMode {"},{"violation":{"location":{"file":"RevenueCatUI\/View+PresentPaywall.swift","character":5,"line":56},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(performPurchase: @escaping PerformPurchase, performRestore: @escaping PerformRestore) {"},{"violation":{"location":{"file":"RevenueCatUI\/View+PurchaseRestoreCompleted.swift","character":5,"line":86},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(_ action: @escaping @Sendable (RevenueCat.Package, ResumeAction) -> Void) {"},{"violation":{"location":{"file":"RevenueCatUI\/View+PurchaseRestoreCompleted.swift","character":5,"line":105},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(_ action: @escaping @Sendable (ResumeAction) -> Void) {"},{"violation":{"location":{"file":"RevenueCatUI\/View+PurchaseRestoreCompleted.swift","character":5,"line":124},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(_ action: @escaping @Sendable (ResumeAction) -> Void) {"},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":170},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":239},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":302},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":367},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":384},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":452},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":469},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":537},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":554},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":631},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdEvent.swift","character":5,"line":654},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdRewardEvents.swift","character":5,"line":77},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdRewardEvents.swift","character":5,"line":95},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdRewardEvents.swift","character":5,"line":128},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdRewardEvents.swift","character":5,"line":161},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/Events\/AdRewardEvents.swift","character":5,"line":256},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Ads\/RewardVerification\/RewardedAdTrackingMetadata.swift","character":5,"line":40},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Attribution\/AttributionNetwork.swift","character":29,"line":20},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCAttributionNetwork) public enum AttributionNetwork: Int {"},{"violation":{"location":{"file":"Sources\/Caching\/Checksum.swift","character":5,"line":32},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(algorithm: Algorithm, value: String) {"},{"violation":{"location":{"file":"Sources\/Caching\/Checksum.swift","character":5,"line":43},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Algorithm: String, Codable, Sendable {"},{"violation":{"location":{"file":"Sources\/Caching\/URLWithValidation.swift","character":5,"line":24},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(url: URL, checksum: Checksum?) {"},{"violation":{"location":{"file":"Sources\/Checkpoints\/Checkpoints.swift","character":5,"line":35},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(stringLiteral value: String) { self = .string(value) }"},{"violation":{"location":{"file":"Sources\/Checkpoints\/Checkpoints.swift","character":5,"line":42},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(integerLiteral value: Int64) { self = .double(Double(value)) }"},{"violation":{"location":{"file":"Sources\/Checkpoints\/Checkpoints.swift","character":5,"line":49},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(floatLiteral value: Double) { self = .double(value) }"},{"violation":{"location":{"file":"Sources\/Checkpoints\/Checkpoints.swift","character":5,"line":56},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(booleanLiteral value: Bool) { self = .boolean(value) }"},{"violation":{"location":{"file":"Sources\/Checkpoints\/Checkpoints.swift","character":5,"line":99},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init?(foundationValue: Any) {"},{"violation":{"location":{"file":"Sources\/Checkpoints\/Checkpoints.swift","character":5,"line":145},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(customVariables: [String: CheckpointValue] = [:]) {"},{"violation":{"location":{"file":"Sources\/CustomerCenter\/CustomerCenterConfigData.swift","character":17,"line":621},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(id: String, title: String, promotionalOffer: PromotionalOffer?) {"},{"violation":{"location":{"file":"Sources\/CustomerCenter\/CustomerCenterPresentationMode.swift","character":1,"line":17},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum CustomerCenterPresentationMode {"},{"violation":{"location":{"file":"Sources\/CustomerCenter\/Events\/CustomerCenterEvent.swift","character":9,"line":82},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/CustomerCenter\/Events\/CustomerCenterEvent.swift","character":5,"line":192},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Generated\/ErrorCode.swift","character":29,"line":17},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCPurchasesErrorCode) public enum ErrorCode: Int, Error {"},{"violation":{"location":{"file":"Sources\/Identity\/CustomerInfo.swift","character":5,"line":218},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Identity\/ProductPaidPrice.swift","character":5,"line":34},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init(currency: String, amount: Double) {"},{"violation":{"location":{"file":"Sources\/Identity\/ProductPaidPrice.swift","character":5,"line":54},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init(currency: String, amount: Double, locale: Locale = .current) {"},{"violation":{"location":{"file":"Sources\/LocalReceiptParsing\/BasicTypes\/AppleReceipt.swift","character":5,"line":73},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Environment: String {"},{"violation":{"location":{"file":"Sources\/LocalReceiptParsing\/BasicTypes\/InAppPurchase.swift","character":5,"line":159},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ProductType: Int {"},{"violation":{"location":{"file":"Sources\/LocalReceiptParsing\/Helpers\/LoggerType.swift","character":19,"line":59},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCLogLevel) public enum LogLevel: Int, CustomStringConvertible, CaseIterable, Sendable {"},{"violation":{"location":{"file":"Sources\/LocalReceiptParsing\/ReceiptParsingError.swift","character":5,"line":21},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Error: Swift.Error {"},{"violation":{"location":{"file":"Sources\/Misc\/DangerousSettings.swift","character":11,"line":109},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public override convenience init() {"},{"violation":{"location":{"file":"Sources\/Misc\/DangerousSettings.swift","character":11,"line":120},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public convenience init(autoSyncPurchases: Bool = true) {"},{"violation":{"location":{"file":"Sources\/Misc\/DangerousSettings.swift","character":11,"line":136},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public convenience init(autoSyncPurchases: Bool,"},{"violation":{"location":{"file":"Sources\/Misc\/Obsoletions.swift","character":1,"line":754},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum RCPaymentMode {}"},{"violation":{"location":{"file":"Sources\/Misc\/Obsoletions.swift","character":1,"line":778},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum RCBackendErrorCode {}"},{"violation":{"location":{"file":"Sources\/Misc\/PlatformInfo.swift","character":15,"line":33},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public init(flavor: String, version: String) {"},{"violation":{"location":{"file":"Sources\/Misc\/StoreKitVersion.swift","character":1,"line":18},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum StoreKitVersion: Int {"},{"violation":{"location":{"file":"Sources\/Networking\/Caching\/CacheFetchPolicy.swift","character":1,"line":16},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum CacheFetchPolicy: Int {"},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/PaywallComponentsData.swift","character":9,"line":23},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(base: PaywallComponentsConfig) {"},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/PaywallComponentsData.swift","character":9,"line":36},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/PaywallComponentsData.swift","character":5,"line":61},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum LocalizationData: Codable, Equatable, Sendable {"},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/PaywallComponentsData.swift","character":5,"line":144},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(id: String? = nil,"},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/UIConfig.swift","character":9,"line":26},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(colors: [String: PaywallComponent.ColorScheme],"},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/UIConfig.swift","character":9,"line":105},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/UIConfig.swift","character":9,"line":124},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(type: String, defaultValue: String) {"},{"violation":{"location":{"file":"Sources\/Networking\/Responses\/RevenueCatUI\/UIConfig.swift","character":5,"line":157},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(app: AppConfig,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/Border.swift","character":9,"line":24},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(color: PaywallComponent.ColorScheme, width: Double) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/ComponentOverrides.swift","character":9,"line":37},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(conditions: [Condition], properties: T) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/ComponentOverrides.swift","character":5,"line":94},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ConditionValue: Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/ComponentOverrides.swift","character":5,"line":142},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum EqualityOperator: String, Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/ComponentOverrides.swift","character":5,"line":151},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ArrayOperator: String, Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/ComponentOverrides.swift","character":9,"line":259},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(from condition: Condition) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentBase.swift","character":5,"line":39},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ComponentType: String, Codable, Sendable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":21},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(light: ImageUrls, dark: ImageUrls? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":33},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(width: Int, height: Int, original: URL, heic: URL, heicLowRes: URL) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":50},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(light: VideoUrls, dark: VideoUrls? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":69},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":92},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(color: ColorHex, percent: Int) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":101},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(light: ColorInfo, dark: ColorInfo? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":352},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(top: Double?,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":374},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(topLeading: Double?,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":405},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(width: PaywallComponent.SizeConstraint, height: PaywallComponent.SizeConstraint) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":648},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(color: ColorScheme, radius: CGFloat, x: CGFloat, y: CGFloat) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":9,"line":677},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(style: BadgeStyle, alignment: TwoDimensionAlignment, stack: StackComponent) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/PaywallComponentPropertyTypes.swift","character":5,"line":703},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(min: UInt?, max: UInt?) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/Common\/StateDeclaration.swift","character":9,"line":53},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(type: String, defaultValue: ConditionValue) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallButtonComponent.swift","character":9,"line":37},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallButtonComponent.swift","character":9,"line":157},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Action: Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallButtonComponent.swift","character":9,"line":210},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Destination: Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallButtonComponent.swift","character":9,"line":286},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum URLMethod: String, Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallButtonComponent.swift","character":13,"line":312},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallButtonComponent.swift","character":9,"line":333},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(visible: Bool? = nil, useNativeIfPossible: Bool? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCarouselComponent.swift","character":13,"line":27},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(msTimePerPage: Int, msTransitionTime: Int, transitionType: AutoAdvanceTransitionType?) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCarouselComponent.swift","character":9,"line":35},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum AutoAdvanceTransitionType: String, PaywallComponentBase {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCarouselComponent.swift","character":13,"line":42},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Position: String, Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCarouselComponent.swift","character":13,"line":65},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCarouselComponent.swift","character":13,"line":99},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCarouselComponent.swift","character":9,"line":141},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCarouselComponent.swift","character":9,"line":254},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCountdownComponent.swift","character":9,"line":31},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCountdownComponent.swift","character":9,"line":111},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum CountdownStyle: Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCountdownComponent.swift","character":9,"line":162},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum CountFrom: String, Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallCountdownComponent.swift","character":9,"line":172},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(style: CountdownComponent.CountdownStyle? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallIconComponent.swift","character":13,"line":22},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(svg: String,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallIconComponent.swift","character":13,"line":54},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(color: PaywallComponent.ColorScheme,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallIconComponent.swift","character":9,"line":92},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallIconComponent.swift","character":9,"line":158},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallImageComponent.swift","character":9,"line":30},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallImageComponent.swift","character":9,"line":106},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPackageComponent.swift","character":9,"line":34},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPackageComponent.swift","character":9,"line":88},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(visible: Bool? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPurchaseButtonComponent.swift","character":9,"line":23},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Action: String, Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPurchaseButtonComponent.swift","character":9,"line":29},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Method: Codable, Sendable, Hashable, Equatable, CustomStringConvertible {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPurchaseButtonComponent.swift","character":13,"line":114},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(autoDismiss: Bool? = nil, openMethod: PaywallComponent.ButtonComponent.URLMethod? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPurchaseButtonComponent.swift","character":17,"line":130},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPurchaseButtonComponent.swift","character":13,"line":152},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallPurchaseButtonComponent.swift","character":9,"line":167},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallStackComponent.swift","character":9,"line":21},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Overflow: String, PaywallComponentBase {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallStackComponent.swift","character":9,"line":51},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallStackComponent.swift","character":9,"line":145},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallStickyFooterComponent.swift","character":9,"line":24},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":9,"line":27},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":9,"line":67},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(defaultValue: Bool,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":9,"line":108},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init() {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":13,"line":129},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(id: String, name: String? = nil, stack: PaywallComponent.StackComponent) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":13,"line":150},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum TabControlType: String, Codable, Sendable, Hashable, Equatable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":13,"line":158},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(type: PaywallComponent.TabsComponent.TabControl.TabControlType,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":9,"line":193},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTabsComponent.swift","character":9,"line":278},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTextComponent.swift","character":9,"line":36},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTextComponent.swift","character":9,"line":195},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTimelineComponent.swift","character":9,"line":34},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTimelineComponent.swift","character":13,"line":94},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(title: TextComponent,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTimelineComponent.swift","character":13,"line":131},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(width: CGFloat, color: ColorScheme, margin: Padding) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTimelineComponent.swift","character":9,"line":151},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum IconAlignment: String, Sendable, Codable, Equatable, Hashable {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTimelineComponent.swift","character":9,"line":174},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallTimelineComponent.swift","character":9,"line":226},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(visible: Bool?,"},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallVideoComponent.swift","character":9,"line":42},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallVideoComponent.swift","character":9,"line":143},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallWebViewComponent.swift","character":9,"line":63},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Components\/PaywallWebViewComponent.swift","character":9,"line":110},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(visible: Bool? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/CustomPaywallImpressionParams.swift","character":11,"line":47},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public convenience init(paywallId: String? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/CustomPaywallImpressionParams.swift","character":11,"line":65},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public convenience init(paywallId: String? = nil, offeringId: String?) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/CustomPaywallImpressionParams.swift","character":11,"line":79},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public convenience init(paywallId: String? = nil, offering: Offering) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/PaywallEvent.swift","character":9,"line":123},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/PaywallEvent.swift","character":9,"line":212},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/PaywallEvent.swift","character":9,"line":308},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/PaywallEvent.swift","character":9,"line":369},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/WorkflowEvent.swift","character":9,"line":38},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(id: UUID = .init(), date: Date = .init()) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/WorkflowEvent.swift","character":9,"line":73},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/Events\/WorkflowEvent.swift","character":9,"line":138},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(experimentId: String, experimentVariant: String) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/ExitOffer.swift","character":5,"line":24},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(offeringId: String) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/ExitOffer.swift","character":5,"line":37},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(dismiss: ExitOffer? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallColor.swift","character":5,"line":25},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ColorScheme: String {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallColor.swift","character":5,"line":62},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(stringRepresentation: String) throws {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallColor.swift","character":9,"line":70},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(light: PaywallColor, dark: PaywallColor) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":101},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(apple: [String]) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":169},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":238},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(title: String, content: String? = nil, iconID: String? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":264},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":360},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":383},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":470},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(header: String? = nil, background: String? = nil, icon: String? = nil) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":518},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":563},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":9,"line":617},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(id: String, packages: [String], defaultPackage: String) {"},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":5,"line":653},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallData.swift","character":5,"line":676},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Paywalls\/PaywallViewMode.swift","character":1,"line":17},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum PaywallViewMode {"},{"violation":{"location":{"file":"Sources\/Paywalls\/WebBundleEventBus.swift","character":5,"line":28},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init() {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Configuration.swift","character":15,"line":189},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public init(withAPIKey apiKey: String) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Configuration.swift","character":15,"line":199},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public init(withAPIKey apiKey: String, appUserID: String) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Configuration.swift","character":5,"line":498},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum EntitlementVerificationMode: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/EntitlementInfo.swift","character":16,"line":22},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCStore) public enum Store: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/EntitlementInfo.swift","character":21,"line":74},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCPeriodType) public enum PeriodType: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/EntitlementInfo.swift","character":5,"line":282},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/EntitlementInfos.swift","character":5,"line":63},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/InstallmentsInfo.swift","character":11,"line":55},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/IntroEligibility.swift","character":33,"line":24},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCIntroEligibilityStatus) public enum IntroEligibilityStatus: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Offering.swift","character":5,"line":191},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Purchasing\/Offering.swift","character":5,"line":210},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Purchasing\/Offering.swift","character":5,"line":224},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Purchasing\/Package.swift","character":9,"line":34},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(revision: Int, ruleId: String) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Package.swift","character":5,"line":57},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/Package.swift","character":5,"line":97},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Purchasing\/Package.swift","character":5,"line":156},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Purchasing\/Package.swift","character":5,"line":174},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/PackageType.swift","character":22,"line":23},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCPackageType) public enum PackageType: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/PurchaseOwnershipType.swift","character":32,"line":20},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCPurchaseOwnershipType) public enum PurchaseOwnershipType: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Purchases\/PurchaseParams.swift","character":15,"line":111},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public init(package: Package) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Purchases\/PurchaseParams.swift","character":15,"line":123},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public init(product: StoreProduct) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/Purchases\/PurchasesAreCompletedBy.swift","character":1,"line":18},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum PurchasesAreCompletedBy: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKit2\/StoreKit2PromotionalOfferPurchaseOptions.swift","character":11,"line":38},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" @objc public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/ProductType.swift","character":5,"line":23},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ProductCategory: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/ProductType.swift","character":5,"line":38},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ProductType: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/StoreProduct.swift","character":5,"line":402},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init(sk1Product: SK1Product) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/StoreProduct.swift","character":5,"line":407},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init(sk2Product: SK2Product) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/StoreProductDiscount.swift","character":5,"line":35},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum PaymentMode: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/StoreProductDiscount.swift","character":5,"line":51},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum DiscountType: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/StoreTransaction.swift","character":5,"line":157},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public convenience init("},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/SubscriptionPeriod.swift","character":5,"line":34},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init(value: Int, unit: Unit) {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/SubscriptionPeriod.swift","character":5,"line":43},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Unit: Int {"},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/Test Data\/TestStoreProduct.swift","character":5,"line":72},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/Test Data\/TestStoreProduct.swift","character":5,"line":119},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Purchasing\/StoreKitAbstractions\/Test Data\/TestStoreProductDiscount.swift","character":5,"line":30},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init("},{"violation":{"location":{"file":"Sources\/Security\/VerificationResult.swift","character":1,"line":47},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum VerificationResult: Int {"},{"violation":{"location":{"file":"Sources\/Support\/BeginRefundRequestHelper.swift","character":30,"line":159},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCRefundRequestStatus) public enum RefundRequestStatus: Int, Sendable {"},{"violation":{"location":{"file":"Sources\/Support\/DebugUI\/DebugViewController.swift","character":5,"line":36},"ruleIdentifier":"no_new_public_inits","reason":"Public initializers are part of the SDK's binary API and cannot change without breaking consumers. Make the init internal or private, or mark it `@_spi(Internal)` if hybrid SDKs need it.","ruleDescription":"","ruleName":"No new public initializers in consumer-facing APIs","severity":"error"},"text":" public init() {"},{"violation":{"location":{"file":"Sources\/Support\/PurchasesDiagnostics.swift","character":5,"line":49},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum ProductStatus: Sendable {"},{"violation":{"location":{"file":"Sources\/Support\/PurchasesDiagnostics.swift","character":5,"line":85},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum SDKHealthCheckStatus: Sendable {"},{"violation":{"location":{"file":"Sources\/Support\/PurchasesDiagnostics.swift","character":5,"line":121},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum SDKHealthError: Swift.Error {"},{"violation":{"location":{"file":"Sources\/Support\/PurchasesDiagnostics.swift","character":5,"line":174},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum SDKHealthStatus: Sendable {"},{"violation":{"location":{"file":"Sources\/Support\/PurchasesDiagnostics.swift","character":5,"line":186},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":" public enum Error: Swift.Error {"},{"violation":{"location":{"file":"Sources\/Support\/StoreMessageType.swift","character":27,"line":20},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"@objc(RCStoreMessageType) public enum StoreMessageType: Int, CaseIterable, Sendable {"},{"violation":{"location":{"file":"Sources\/WebPurchaseRedemption\/WebPurchaseRedemptionResult.swift","character":1,"line":19},"ruleIdentifier":"no_new_public_enums","reason":"Adding a new `public enum` to the SDK's consumer-facing surface (including `@_spi(Experimental)`) is not allowed. Adding a case to an existing `public enum` is a source-breaking change for any consumer with an exhaustive `switch`. Use a struct with static constants instead.","ruleDescription":"","ruleName":"No new public enums in consumer-facing APIs","severity":"error"},"text":"public enum WebPurchaseRedemptionResult: Sendable {"}]