iOS 핀테크 앱
핀테크는 금융과 기술의 합이다. 이 용어는 기술을 사용하여 금융 서비스 제공을 개선하는 신흥 산업을 의미합니다. 온라인 쇼핑에서 모바일 뱅킹 거래에 이르기까지 사람들은 거의 매일 핀테크 애플리케이션을 사용합니다. 결제 앱을 사용하면 사업주가 기존 급여 방식을 사용하지 않고 스마트폰에서 직접 결제할 수 있으므로 원활한 거래를 도울 뿐만 아니라 고객과 판매자 친화적인 결제 앱(2개의 별도 앱)을 만들기로 결정했습니다. 지불할 때마다 추가 보상을 받으세요.
앱은 iOS 모바일 환경에서 제작되었습니다.
A) XCode IDE - Xcode는 Apple의 macOS용 통합 개발 환경으로, macOS, iOS 등을 위한 소프트웨어를 개발하는 데 사용됩니다. 이 프로젝트에는 Xcode 11+ 버전이 사용되었습니다.
나) 도구 :
- Figma( 디자인 도구) : 함께 제품을 만드는 팀을 위한 무료 디자인 도구입니다. 우리는 이 도구를 사용하여 앱의 프로토타입을 디자인하고 기술 팀이 실시간으로 앱을 디자인할 수 있도록 도왔습니다.
- SwiftLint (코드 스타일 지정) : Swift 스타일 및 규칙을 적용하는 오픈 소스 도구입니다. Realm에서 개발했습니다. 코딩 스타일 규칙을 설정하고 개발 중에 이를 강제하는 데 사용했습니다.
- Swift Package Manager (Code destribution) : Swift 코드의 배포를 관리하기 위한 도구로 Swift 빌드 시스템과 통합되어 종속성 다운로드, 컴파일 및 연결 프로세스를 자동화합니다. 우리는 cocoa 포드 대신 사용했습니다.
- Postman : API를 설계, 구축, 테스트 및 반복하는 API 플랫폼입니다. paytm api 응답을 읽고 결제 성공 여부를 확인하는 데 사용했습니다.
D) 프레임워크:
- SwiftUI (SwiftUI는 앱의 사용자 인터페이스를 선언하기 위한 보기, 컨트롤 및 레이아웃 구조를 제공합니다.)
- 기초 (데이터 저장 및 지속성, 날짜 및 시간 계산, 정렬 및 필터링 등을 포함하여 앱 및 프레임워크에 대한 기능의 기본 계층 제공)
- 결합 (시간 경과에 따른 값 처리를 위한 선언적 Swift API)
- UIKit (UI 구성 요소 및 스타일과 같은 디자인 요소 세트를 포함하는 자산 모음)
- Core Location (상점 및 사용자 위치 추적)
- Firebase SDK (사용자 인증을 위해 정보를 저장하고 알림을 받음)
- CoreImage.CIFilterBuiltins (결제용 동적 QR 생성)
- CodeScanner (매장에서 QR 코드를 스캔하려면)
- Webkit (결제 플랫폼 통합 및 결제 응답 읽기용)
바 ) Github (Versioning Tool) : 소프트웨어 개발 및 버전 관리 도구를 위한 인터넷 호스팅 서비스입니다. Git의 분산 버전 제어와 프로젝트에 대한 액세스 제어, 버그 추적, 풀 요청, 작업 관리, 지속적인 통합 등을 제공합니다.
G) MVVM( Architectural Design pattern ) : Model View ViewModel은 모바일 개발에 사용되는 아키텍처 디자인 패턴입니다. 향후 코드 베이스의 크기가 커질수록 MVVM 패턴을 사용하는 것이 더 유리할 것입니다.
H) 백엔드 통합:
- Firebase SDK: SPM을 사용하여 이 SDK를 사용했습니다(https://github.com/firebase/firebase-ios-sdk) 프로젝트에 .plist 파일을 추가했습니다.
- 알림 : FCM(Firebase Cloud Messaging) :무료로 안정적으로 메시지를 보낼 수 있는 크로스 플랫폼 메시징 솔루션입니다.
- 실시간 데이터베이스: 가맹점 및 사용자가 앱에 등록할 때 세부 정보를 저장하기 위해 사용합니다. 이 데이터베이스는 사용자 정보를 안전하게 저장할 수 있도록 CRUD(create, read, update, delete) 기능을 따릅니다.
- 사용자 인증: ( Firebase Auth )- 프레임워크를 사용하여 로그인 및 로그아웃 시 사용자 인증을 확인합니다. 등록된 각 휴대폰 번호로 OTP를 전송하여 사용자 인증을 도와 인증 절차를 도와줍니다.
- 이 제품에 대한 자세한 이야기와 시장 분석을 보려면 아래 링크를 확인하십시오. 제품과 사업전망에 대해 자세히 분석해보았습니다. 핀테크 결제 앱(개발 및 상품관리 경험)
- https://www.hackingwithswift.com/books/ios-swiftui/generating-and-scaling-up-a-qr-code
- https://developer.apple.com/documentation/webkit/wkwebview
- https://developer.apple.com/documentation/corelocation/
- https://blog.kiprosh.com/preferable-dependency-manager-swift-package-manager-spm-or-cocoapods/
J) DRY(don't repeat yourself): 추상화를 돕기 위해 패턴의 반복과 코드 중복을 줄이기 위해 이 소프트웨어 개발 원칙을 따랐고, 따라서 중복을 피했습니다 .
이 앱은 기본적으로 사용자와 판매자가 온라인 송금으로 원활하게 서로 지불할 수 있도록 하며 결제할 때마다 추가 할인과 보상을 받을 수 있습니다.
기업 은 사용자가 앱을 사용하기 위해 회사에 구독료를 지불하고 지불할 때마다 추가 혜택을 받는 구독 모델 로 수익을 얻습니다 . 구독을 구매하지 않으면 사용자는 결제할 때마다 할인을 받지 못하지만 앱을 사용하여 할인 없이 일반적인 결제를 할 수 있습니다.
가맹점 앱은 등록 시 앱에 등록하고 결제할 때마다 더 많은 수익 비율을 위해 애플리케이션을 사용하여 상점 주인으로부터 수익을 얻습니다.
코드의 주요 특징:
> QR 코드 스캔의 경우:
고객이 사용자 앱의 QR 코드를 스캔하기 위해 Github의 타사 프레임워크(CodeScanner)를 통합하여 스캔 프로세스를 단순화했습니다.
그것에 대해 더 알고 프로젝트에 통합하려면 링크를 참조하십시오: https://github.com/twostraws/CodeScanner
스캔할 때 호출되었으며 결과를 기반으로 합니다. 성공/실패, 화면 탐색이 발생합니다. 성공하면 결제 페이지로 이동하고 실패하면 다음 오류가 발생합니다.
case badInput //카메라에 액세스할 수 없습니다.
case badOutput // 카메라가 요청된 코드를 스캔할 수 없습니다.

> 지불 통합:
상점에 지불하거나 회비를 지불하기 위해 WebKit 을 가져와 통합했습니다. 출시 초기 단계에서 결제가 이루어지도록 결제 앱(Paytm)의 웹뷰 통합을 추가하여 결제를 보내고 받을 수 있습니다.
1단계:WKNavigationDelegate
웹 보기의 기본 프레임에서 변경 사항을 조정하는 데 사용하는 개체에 프로토콜을추가사용자가 웹 콘텐츠 탐색을 시도하면 웹 보기는 탐색 대리자와 조정하여 모든 전환을 관리합니다.

2단계: UIViewRepresentable 인스턴스를 사용하여 SwiftUI 인터페이스에서 UIView 객체를 만들고 관리합니다. 앱의 사용자 지정 인스턴스 중 하나에서 이 프로토콜을 채택하고 해당 메서드를 사용하여 보기를 생성, 업데이트 및 제거합니다.

3단계: 기본 보기에서 위를 사용합니다. 성공 또는 실패에 따라 응답이 표시됩니다.
@StateObject var webViewCoordiantor = WebViewCoordinator()
ZStack에서 WebView 클래스를 사용합니다.


> 동적 QR 생성:
판매자 앱에 대해 매번 다른 금액의 새 QR을 생성하기 위해 다음 단계를 따랐습니다.
1단계: Core Image는 유형이 안전한CIFilter
인스턴스를 생성하는 메서드를 제공합니다. 이러한 필터를 사용하여 Core Image의 문자열 기반 API에 의존할 때 발생할 수 있는 런타임 오류를 방지하십시오.
CoreImage.CIFilterBuiltins 가져오기
2단계: 활성 Core Image 컨텍스트와 Core Image의 QR 코드 생성기 필터 인스턴스를 저장하려면 두 가지 속성이 필요합니다. 따라서 다음 두 항목을 추가하십시오MeView
.
let 컨텍스트 = CIContext()
let 필터 CIFilter.qrCodeGenerator()
3단계: 함수 generateQR 을 만들고 기본 보기에서 사용합니다.

4단계:Image
바로 아래에이 새 보기를 추가

> 위치 추적:
가까운 상점을 고객에게 보여주기 위해 사용자 CoreLocation 프레임워크가 있습니다.
1단계: CoreLocation 프레임워크 가져오기:
CoreLocation 가져오기
2단계: 위치 관리자는 대리자의 메서드를 호출하여 위치 관련 이벤트를 앱에 보고합니다. 앱별 개체에서 이 프로토콜을 구현하고 메서드를 사용하여 앱을 업데이트합니다.

3단계: 이제 사용자의 권한, 위도 및 경도 좌표를 사용하여 iPhone이 사용자 및 주변 상점의 위치를 추적하도록 돕습니다.

따라서 상점을 표시할 수 있는 권한이 아래에 표시됩니다.

결론 : 핀테크 산업의 범위가 날로 넓어짐에 따라 핀테크 앱 개발은 수요 증가와 함께 지속적으로 확대될 것입니다.
좋아요, 공유, 팔로우 하시면 더 재미있는 컨텐츠를 만나보실 수 있습니다...!!
행복한 코딩...!!