Building Subscription Blogging App: Part 3 – In App Purchase Set Up (2021, Xcode 12, Swift 5) – iOS
private func bind(with scene: UIWindowScene) {
let window = UIWindow(windowScene: scene)
window.makeKeyAndVisible()
self.window = window
AuthManager.shared.userSession
.sink { user in
if user != nil {
window.rootViewController = TabBarViewController()
} else {
let nav = UINavigationController(rootViewController: SignInViewController())
window.rootViewController = nav
}
}
.store(in: &cancellables)
}
SceneDelegate
상에서 현재 인증 상태를 확인, 윈도우의 루트 뷰 컨트롤러 자체를 바꾸는 코드private func bind() {
iapService.premium
.sink { [weak self] isPremium in
if !isPremium {
let vc = PayWallViewController()
let nav = UINavigationController(rootViewController: vc)
self?.present(nav, animated: true)
} else {
}
}
.store(in: &cancellables)
}
UI 구현보다 앱 스토어 커넥트 상에서 상품을 등록하고 키를 받아오는 과정이 헷갈렸다.