-
Notifications
You must be signed in to change notification settings - Fork 0
Apple Game Center
WooSeok Suh edited this page Aug 2, 2021
·
7 revisions
by Seok
Apple Game Center 연동
- App Store Connect에 앱 등록
- 프로젝트에서 Bundle ID Unique 이슈 발생
- 해당 App 삭제후 새로 Bundle ID 만들어서 등록
- 같은 이슈 발생
접근 권한 설정 문제
- 위와 같이 처리할 필요 전혀 없었음
- identifier 접근 권한이 없어서 team 계정으로 설정하지 못해서 생기는 문제
- 차주 수요일 오프라인 미팅 시에 해결 예정
by Seok
Apple Game Center Login
- 정상 로그인 시(isAuthenticated) Firebase Data 가져오도록 viewmodel 메서드 호출
private func setupAppleGameCenterLogin() {
GKLocalPlayer.local.authenticateHandler = { gcViewController, error in
guard error == nil else { return }
if GKLocalPlayer.local.isAuthenticated {
GameCenterAuthProvider.getCredential { credential, error in
guard error == nil else { return }
Auth.auth().signIn(with: credential!) { [unowned self] user, error in
guard error == nil else { return }
if let user = user {
self.viewModel.getUserInformation(from: user.user.uid)
}
}
}
} else if let gcViewController = gcViewController {
print(gcViewController)
}
}
}viewModel이 가지고있는 firebase data 가져오는 메서드
- firebase에서 데이터를 가져오기 전에 itemVC로 이동하면 정보가 나타지 않는 오류
- coreData활용하여 Local Storage와 data 연동하도록 개선필요
- error 처리 필요
func getUserInformation(from uuid: String) {
database.initializeDatabase(uuid)
database.getFirebaseData(uuid)
.subscribe(onNext: { [unowned self] data in
data.forEach { self.storage.create(item: $0) }
}, onError: { error in
print(error)
}).disposed(by: rx.disposeBag)
}by Seok
Apple Game Center Login 체크 기능 viewModel로 이전
- viewController가 불필요하게 앱의 로직을 가지고 있던 부분을 viewModel로 이전
- Apple Game Center logout 후에 접속하면 무한로딩되던 bug fix
created by 우송