유저가 프로필을 등록하고 생성된 QR을 통해 다른 유저의 QR을 스캔해 서로 프로필을 공유하는 일종의 소셜 기능을 합니다.
View
ProfileView
-> 해당 뷰에서 스캐너는 fullCover 로 띄웁니다
ProfileRegisterView
ProfileEditView
ProfileFriendsListView
-> 해당 뷰에서 스캐너는 fullCover 로 띄웁니다
ProfileFriendDetailView
DB 및 데이터 저장
Firebase Firestore 을 이용하고 있습니다.
FirebaseManager (singleton) 을 통해 CRUD 을 실행합니다.
유저의 프로필ID는 키체인에 저장되며 저장된 ID를 통해 본인의 도규먼트에 접근하며
도규먼트에 내가 저장한 유저들의 ID를 String Array로 저장합니다.
QR 기능
CIFilter.qrCodeGenerator() 를 통해 UIImage 로 생성된 QR을 보여주게 됩니다
QR에는 유저를 친구추가할수 있는 데이터를 담고 있습니다.
유저가 프로필을 등록하고 생성된 QR을 통해 다른 유저의 QR을 스캔해 서로 프로필을 공유하는 일종의 소셜 기능을 합니다.
Firebase Firestore 을 이용하고 있습니다. FirebaseManager (singleton) 을 통해 CRUD 을 실행합니다. 유저의 프로필ID는 키체인에 저장되며 저장된 ID를 통해 본인의 도규먼트에 접근하며 도규먼트에 내가 저장한 유저들의 ID를 String Array로 저장합니다.
CIFilter.qrCodeGenerator() 를 통해 UIImage 로 생성된 QR을 보여주게 됩니다 QR에는 유저를 친구추가할수 있는 데이터를 담고 있습니다.
패키지 레퍼지토리
CodeScanner 를 사용해서 스캔합니다. 스캔을 통해 받아온 데이터를 형식 검사 후 형식이 맞다면 친구추가를 진행합니다.
유저는 본인의 링크을 공유할수 있으며 입력받은 URL은 UIApplication.shared.canOpenURL() 를 통해 검사하여 URL만 입력 받고 있습니다.
스캔을 통해 등록을 시도하는 데이터에 대해 이미 등록이 되어있다면 중복 등록되지 않도록 검사를 통해 막고 있습니다.