      * - Parameter completion: An @escaping callback that is called with the loaded products.
      * If the fetch fails for any reason it will return an empty array.
      */
-    @available(*,
-                deprecated,
-                message: "use getProductsWithIdentifiers:completion:",
-                renamed: "getProductsWithIdentifiers")
-    @available(swift, obsoleted: 1, renamed: "getProducts(_:completion:)")
+    @available(iOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
+    @available(tvOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
+    @available(watchOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
+    @available(macOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
     @objc(productsWithIdentifiers:completion:)
     func products(_ productIdentifiers: [String], completion: @escaping ([SKProduct]) -> Void) {
         fatalError()

     * - Parameter completion: A completion block called when customer info is available and not stale.
     * Called immediately if info is cached. Customer info can be nil if an error occurred.
     */
    @available(swift, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
    @available(*, deprecated, message: "use getCustomerInfoWithCompletion:", renamed: "getOfferingsWithCompletion")
    @objc func customerInfo(completion: @escaping (CustomerInfo?, Error?) -> Void) {
        fatalError()
    }

     * If the purchase was not successful, there will be an `NSError`.
     * If the user cancelled, `userCancelled` will be `YES`.
     */
    @available(iOS, obsoleted: 1, renamed: "purchase(package:discount:completion:)")
    @available(tvOS, obsoleted: 1, renamed: "purchase(package:discount:completion:)")
    @available(watchOS, obsoleted: 1, renamed: "purchase(package:discount:completion:)")
    @available(macOS, obsoleted: 1, renamed: "purchase(package:discount:completion:)")
    @available(iOS 12.2, macOS 10.14.4, macCatalyst 13.0, tvOS 12.2, watchOS 6.2, *)
    func purchasePackage(_ package: Package,
                         discount: SKPaymentDiscount,
