목록iOS개발 (39)
일모도원(日暮途遠) 개발자
print()는 콘솔에 내용을 표시하고자 할때 사용한다. (릴리즈모드에서도 사용하면 속도저하가 있으므로 디버그일때만 쓰자) debugPrint()는 print()와 비슷하게 보이는데 이름을 보면 뭔가 debug할때 쓸거 같다. 실제로 보면 debugPrint는 그냥 쌍따옴표만 더 붙어있는거 같다. 이정도면 굳이 debugPrint를 쓸필요가 없어보인다. print("print") //print debugPrint("debugPrint") //"debugPrint" 하지만 API를 호출해서 결과물을 볼때는 확연하게 다르다. 아래 코드가 실행되어 response를 보고자 할때 확실히 debugPrint가 많은 정보를 보여준다. AF.request(url, method: .post, parameters: tr..
아래와 같은 경고가 보인다. 'windows' was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene instead 원인은 이 코드이다. return UIApplication.shared.windows.first?.windowScene?.interfaceOrientation.isLandscape ?? false 가로 모드인지 확인하는 코드를 아래처럼 가지고 있는데 이제 경고가 난다. extension UIApplication { static var isLandscape: Bool { if AppConts.IS_MACOS { return true } else { if #available(iOS 13.0, *) { re..
서버가 HTTPS를 지원하지 않는상태에서 API를 호출하면 아래와 같은 에러메시지가 나온다. The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. ATS에 대해서 더 알아볼려면 애플 매뉴얼을 읽어보자 서버가 HTTPS를 지원할수 없다면, info.plist파일을 열어서 App Transport Security Settings 항목을 추가해주고 Allow Arbitary Loads를 YES로 주자 (info.plist파일이 없으면 Target의 Info 탭을 보면 Custom iOS Target Properties를 보자)
최근 읽은 문서 리스트 초기화 하기 NSDocumentController.shared.clearRecentDocuments(self) 참고 : 최근 읽은 문서 리스트 가져오기. private func makeRecentDocumentsList() -> [URL] { // Need to call resolvingSymlinksInPath() on both sides, because it changes "/private/var" to "/var" as a special case, // even though "/var" points to "/private/var" (i.e. it changes it the opposite direction from what is expected). // This is prob..
아래처럼 에러가 나오면서 앱이 스플래쉬이미지를 보여주는 화면에서 멈추는데, 이슈리스트에는 아무것도 안보인다. 사실 저건 에러가 아니다. 헉... 브레이크 포인트가 잡힌건데, 내경우는 어디에서 브레이크 포인트가 걸렸는지 찾기 힘들다. 그냥 XCode하단의 화살표(Continue program execution)을 눌러서 계속 실행하면 된다.
아래와 같은 오류를 만났다. if playerEntity.isShadowingMode() { updateVisible_fsn_left_and_rightActionView(isHidden:true) } else { updateVisible_fsn_left_and_rightActionView(isHidden:false) } 오류의 원인은 isShadowingMode는 속성으로 함수가 아닌데 함수로 불러서 그렇다. var isShadowingMode: Bool { get { if repeatListShadowingMode.count > 0 { return true } return false } } OK if playerEntity.isShadowingMode { NG if playerEntity.isShado..
동영상 플레이어 앱에서 자막을 표시할때 한가지 색상으로 하면 자막이 배경색에 가려서 안보일때가 있다. 이때는 그림자를 적절히 주며 자막이 잘 보인다. 사용코드 subtitleLabel.applyShadow() extension UILabel { func applyShadow(value: CGFloat = 1.5, shadowColor: UIColor = .black) { self.layer.shadowColor = shadowColor.cgColor self.layer.shadowRadius = value self.layer.shadowOpacity = 1.0 self.layer.shadowOffset = CGSize(width: value, height: value) self.layer.masksToB..
메일을 보내거나 취소를 해도 아래 메일뷰가 계속 떠있는 버그가 있었다. 아래처럼 MailHelper().sendEmail(vc)를 하니까 위의 버그가 생겨서 extension SideNavigationPresenter: ViewOutputs { func getView() -> DALViewController { return view as! DALViewController } func executeAction(type: ActionType, sender: AnyObject?, data: AnyObject?) { switch type { case .MAIL: let vc = getView() MailHelper().sendEmail(vc) 아래처럼 mailHelper를 변수로 따로 빼서 하니까 버그가 수정되..