프로그래밍/iOS 배포
iOS 출시 프로젝트 18일차 - 세부 기능 및 QA
yeop96
2021. 12. 4. 07:59
1.0.0 심사 출시 이슈가 있는 스프린트 6 시작
이제부터는 앱에 버그가 있는지 QA를 하며 완성도를 높여가야 한다.
원래 프로젝트는 80프로까지는 빨리 되어도 20퍼센트에서 가장 오래 걸린다고 한다ㅎ
앱 내 예외처리나 처리 알림 부분에서 toast라이브러리를 사용했었지만 어울리지 않는 거 같아 notificationBanner 라이브러리로 변경했다.
더 직관적이고 이쁘게 변했다.
https://github.com/Daltron/NotificationBanner
func bannerShow(_ text: String){
let leftView = UIImageView(image: UIImage(named: "surprised")!)
let banner = NotificationBanner(title: text, leftView: leftView, style: .info, colors: CustomBannerColors())
banner.titleLabel?.textColor = .label
banner.duration = 3
banner.show()
}
이런 식으로 커스텀을 조금 해서 활용했다. BannerColorsProtocol를 통해 배경색도 바꿔줬다.
그리고 내부 테스트 테스트 플라이트를 통해 지인분이 날짜 계산하는 부분에서 오류를 하나 찾아주었다.
가장 최근 데이터가 오늘과 얼마나 차이 나는지 계산하는 부분이었는데 처음에는 숫자로 계산하면 되는지 알았지만 정확하게 되지 않아 Calendar를 활용하여 바꿔주었다.
//감정 소비 며칠 지났는지 계산
if !tasks.isEmpty{
let distanceDay = Calendar.current.dateComponents([.day], from: Date(), to: tasks[0].costDate).day
unCostDayLabel.text = "\(String(-distanceDay!))일"
} else{
unCostDayLabel.text = "아직 없음"
}
텍스트 필드에 공백 부분을 주기 위해 extension를 만들었다.
import Foundation
import UIKit
extension UITextField {
func addLeftPadding() {
let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: self.frame.height))
self.leftView = paddingView
self.leftViewMode = ViewMode.always
}
}
UX적으로 세팅이나 셀 접근 시 탭 바가 사라지는 게 이쁠 거 같아 수정해주었다.
self.tabBarController?.tabBar.isHidden = false
viewwilldisappear에서 false를 해주고 viewdidload에서 true로 해주었다.
그리고 나는 QA를 하면서
기능 테스트, 일반적이지 않은 입력에 대한 예외, 과부하 테스트 이 세 가지를 계속해서 진행했다.