SwiftHelper — универсальная библиотека для iOS, которая не только упрощает работу с платежными SDK, но и предоставляет готовые UI-компоненты. Это комплексное решение для управления подписками, покупками и отображением paywall в ваших приложениях.
- 🧮 Упрощенное получение очищенных цен и валют
- 📅 Упрощённая работа с периодами подписок
- 🆓 Обнаружение и управление пробными периодами
- 🛒 Упрощенная покупка подписок и расходуемых продуктов
- 🔄 Упрощенное восстановление покупок
- ✅ Проверка статуса Premium-подписки
- 🧩 Модульная архитектура для будущего расширения
- Кастомные paywall-экраны
- Кнопки покупки с автоматическим оформлением
- Дисплеи статуса подписки
- Адаптивные элементы для разных устройств
-
Получение цен и валют
-
Управление периодами подписок
-
Работа с пробными периодами
-
Покупка подписок и продуктов
-
Восстановление покупок
-
Проверка статуса Premium-подписки
-
UI компоненты для paywall (частично)
- Больше готовых UI-компоненты
Добавьте SwiftHelper в ваш проект через Swift Package Manager (SPM):
-
Откройте ваш проект в Xcode
-
Перейдите в
File > Add Packages... -
Вставьте URL репозитория:
https://github.com/Vladimir089/SwiftHelper.git
- Нажмите "Add Package"
Добавьте зависимость в ваш Package.swift:
dependencies: [
.package(
url: "https://github.com/Vladimir089/SwiftHelper.git",
from: "0.1.1"
)
]В 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) -> Boolimport SwiftHelper
SwiftHelper.apphudHelper.returnIntroductoryPriceAndSymbol(product: ApphudProduct) -> (price: Double, symbol: String)import SwiftHelper
SwiftHelper.apphudHelper.returnIntroductoryTrialDuration(product: ApphudProduct) -> (value: Int, unit: String)? import SwiftHelper
SwiftHelper.apphudHelper.fetchProducts(paywallID: String, completion: @escaping ([ApphudProduct]) -> Void)import SwiftHelper
SwiftHelper.apphudHelper.isProUser() -> Boolimport 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)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) -> UIButtonimport SwiftHelper
SwiftHelper.uiHelper.customImageView(image: UIImage, isClipped: Bool? = nil, mode: UIImageView.ContentMode, cornerRadius: CGFloat? = 0, borderWidth: CGFloat? = nil , borderColor: UIColor? = nil) -> UIImageViewimport SwiftHelper
SwiftHelper.uiHelper.customLabel(text: String, font: UIFont, color: UIColor? = nil, textAligment: NSTextAlignment? = nil, numberLines: Int? = nil) -> UILabelimport SwiftHelper
SwiftHelper.uiHelper.applyHapticEffect(type: HapticEffect)import SwiftHelper
button.animateButton()import SwiftHelper
image.resize(targetSize: CGSize) -> UIImage - Создайте issue для обсуждения
- Сделайте форк репозитория
- Создайте новую ветку (
feature/your-feature) - Отправьте pull request
✨ Сделано с любовью к Swift-сообществу ✨