Skip to content

Vladimir089/SwiftHelper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Swift Helper 🚀

Swift Platform

SwiftHelper — универсальная библиотека для iOS, которая не только упрощает работу с платежными SDK, но и предоставляет готовые UI-компоненты. Это комплексное решение для управления подписками, покупками и отображением paywall в ваших приложениях.

Ключевые возможности 🔑

💳 Управление платежами

  • 🧮 Упрощенное получение очищенных цен и валют
  • 📅 Упрощённая работа с периодами подписок
  • 🆓 Обнаружение и управление пробными периодами
  • 🛒 Упрощенная покупка подписок и расходуемых продуктов
  • 🔄 Упрощенное восстановление покупок
  • ✅ Проверка статуса Premium-подписки
  • 🧩 Модульная архитектура для будущего расширения

🎨 Готовые UI-компоненты (скоро!)

  • Кастомные paywall-экраны
  • Кнопки покупки с автоматическим оформлением
  • Дисплеи статуса подписки
  • Адаптивные элементы для разных устройств

Текущая поддержка ✅

Apphud SDK

  • Получение цен и валют

  • Управление периодами подписок

  • Работа с пробными периодами

  • Покупка подписок и продуктов

  • Восстановление покупок

  • Проверка статуса Premium-подписки

  • UI компоненты для paywall (частично)

Скоро в релизах 🚧

  • Больше готовых UI-компоненты

Установка 📦

Добавьте SwiftHelper в ваш проект через Swift Package Manager (SPM):

Через Xcode

  1. Откройте ваш проект в Xcode

  2. Перейдите в File > Add Packages...

  3. Вставьте URL репозитория:

https://github.com/Vladimir089/SwiftHelper.git

  1. Нажмите "Add Package"

Через Package.swift

Добавьте зависимость в ваш Package.swift:

dependencies: [
    .package(
        url: "https://github.com/Vladimir089/SwiftHelper.git",
        from: "0.1.1"
            )
]

Начало работы 🏁

Работа с Apphud 💸

  • Инициализация Apphud SDK

В AppDelegate.swift или SceneDelegate.swift добавьте:

import SwiftHelper

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
   func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
   // Инициализируйте Apphud SDK
   Apphud.start(apiKey: "YOUR_APPHUD_KEY")
   return true
   }
}
  • Получение цены и символа валюты

import  SwiftHelper

SwiftHelper.apphudHelper.returnClearPriceAndSymbol(product: ApphudProduct) -> (price: Double, symbol: String)
  • Получение длительности подписки

import  SwiftHelper

SwiftHelper.apphudHelper.returnSubscriptionUnit(product: ApphudProduct) -> String? (week, month, year)
  • Получение продолжительности подписки

import  SwiftHelper

SwiftHelper.apphudHelper.returnSubscriptionDuration(product: ApphudProduct) -> Int?
  • Проверка пробного периода у продукта

import  SwiftHelper

SwiftHelper.apphudHelper.hasIntroductoryTrial(product: ApphudProduct) -> Bool
  • Получение цены и символа пробного периода

import  SwiftHelper

SwiftHelper.apphudHelper.returnIntroductoryPriceAndSymbol(product: ApphudProduct) -> (price: Double, symbol: String)
  • Получение длительности пробного периода

import  SwiftHelper

SwiftHelper.apphudHelper.returnIntroductoryTrialDuration(product: ApphudProduct) -> (value: Int, unit: String)? 
  • Получение списка продуктов из paywall по id

import  SwiftHelper

SwiftHelper.apphudHelper.fetchProducts(paywallID: String, completion: @escaping ([ApphudProduct]) -> Void)
  • Проверка наличия активной подписки у пользователя

import  SwiftHelper

SwiftHelper.apphudHelper.isProUser() -> Bool
  • Восстановление всех покупок

import  SwiftHelper

SwiftHelper.apphudHelper.restoreAllProducts(completion: @escaping (Bool) -> Void)
  • Приобретение подписки

import  SwiftHelper

SwiftHelper.apphudHelper.purchaseSubscription(subscription: ApphudProduct, completion: @escaping (Bool) -> Void)
  • Приобретение расходуемого продукта

import  SwiftHelper

SwiftHelper.apphudHelper.purchaseConsumableProduct(product: ApphudProduct, completion: @escaping (Bool) -> Void)

Работа с UI 🤩

  • Создание анимированный кнопки

import  SwiftHelper

SwiftHelper.uiHelper.customAnimateButton(bgColor: UIColor? = nil , bgImage: UIImage?, title: String?, titleColor: UIColor? = nil, fontTitleColor: UIFont? = nil, cornerRadius: CGFloat? = nil, borderWidth: CGFloat? = nil , borderColor: UIColor? = nil) -> UIButton
  • Быстрое создание ImageView

import  SwiftHelper

SwiftHelper.uiHelper.customImageView(image: UIImage, isClipped: Bool? = nil, mode: UIImageView.ContentMode, cornerRadius: CGFloat? = 0, borderWidth: CGFloat? = nil , borderColor: UIColor? = nil) -> UIImageView
  • Быстрое создание лэйбла

import  SwiftHelper

SwiftHelper.uiHelper.customLabel(text: String, font: UIFont, color: UIColor? = nil, textAligment: NSTextAlignment? = nil, numberLines: Int? = nil) -> UILabel
  • Вызов вибрации с разными стилями - Haptic Effect

import  SwiftHelper

SwiftHelper.uiHelper.applyHapticEffect(type: HapticEffect)
  • Анимация нажатия любой кнопки

import  SwiftHelper

button.animateButton()
  • Изменение размера изображения

import  SwiftHelper

image.resize(targetSize: CGSize) -> UIImage 

Вклад в проект 🤝

Приветствуются pull requests! Перед внесением изменений:

  • Создайте issue для обсуждения
  • Сделайте форк репозитория
  • Создайте новую ветку (feature/your-feature)
  • Отправьте pull request

✨ Сделано с любовью к Swift-сообществу ✨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages