[WIP] [Alpha] Added iOS Support to Komoju Payment SDK #71
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces iOS support to the Komoju Payment SDK by leveraging the Kotlin Multiplatform Mobile (KMM) framework. Previously, the SDK was available only for Android. With this update, we are bringing a fully functional iOS implementation that allows developers to integrate Komoju Payments into iOS applications. The iOS functionality is encapsulated within two main projects:
ios
: A Swift wrapper framework that integrates the KMM shared SDK into iOS applications.example-ios
: A sample iOS app named SoundBud! that demonstrates how to use theios
framework and the Komoju Payment SDK.Detailed Breakdown
1.
ios
FrameworkThe
ios
project is a wrapper framework written in Swift. This framework provides an iOS-specific interface for using the KMM-based Komoju Payment SDK. Here’s a breakdown of its functionality:UIViewController
. This ensures that iOS developers can easily embed the SDK into their apps using standard iOS UI components and patterns.2.
example-ios
App (SoundBud!)The
example-ios
project is a sample iOS application that demonstrates the usage of theios
wrapper framework. SoundBud! showcases how the SDK can be integrated into a real-world iOS app. It includes:ios
framework to initiate payment flows, present the UI, and interact with the Komoju Payment SDK.Key Features
Changes in This PR
ios
framework: Introduces the iOS wrapper framework, providing Swift-based interfaces for the KMM SDK.example-ios
app (SoundBud!): A fully functional example app demonstrating the SDK's usage on iOS.UIViewController
to fit seamlessly into SwiftUI-based applications.Future Work
ios
, which can be confusing. We plan to rename it to something more descriptive.Testing
example-ios
) demonstrates the SDK integration, and its flow can be tested on an iOS device to verify that the payment processing works as expected.Conclusion
This PR brings full iOS support to the Komoju Payment SDK, enabling cross-platform payment solutions for both Android and iOS applications. By leveraging KMM, we provide a unified codebase that simplifies integration and ensures consistent behavior across platforms. The included Swift wrapper framework and the example app provide everything needed for iOS developers to integrate Komoju Payments seamlessly into their apps.