본문 바로가기

나의 플랫폼/iOS

[iOS] Error: Could not build Objective-C module 'Firebase' Push Notification 기능을 이용하기 위해 Firebase Cloud Messaging  기능을 많이 이용 할 것이다.Firebase에서 알려준 방식으로 하다가.. Firebase가 import 안되는 현상이 발생 했다. Firebase 설정 : https://firebase.google.com/docs/cloud-messaging/ios/client?hl=ko멍미??오류는 아래와 같이 발생 했다.여러 구글링을 .. 더보기
[iOS] Error ITMS-90717: “Invalid App Store Icon” Xcode 9.0으로 업데이트 하고 나서, AppIcon에 아래와 같이 1024 x 1024 크기가 생겼다.머~ 간단하게 1024 x 1024 크기로 아이콘을 만들고 설정 한 후,iTunes Connect에 업로드를 진행 했는데...갑자기 아래와 같은 에러가 발생 한다.이게 멍미!!!문구를 읽어보면... AppStore Icon은 alpha channel을 넣지 말라고 하는 거다.그럼 어떻게 하면 될까??1024 x 1024 이미지를 jpg나 알파 .. 더보기
[iOS] Self-sizing TableView Cell TableView 안에 여러 동적인 뷰가 들어갈 경우가 많이 있다.그럴 경우 View 하나하나 Height 값을 가져 와서 임의로 Cell Height를 정하시는 분들이 있다.그러면 추후 유지보수하는데 너무 어려움을 많이 느끼게 된다. (보기에도 좋지 않음)그래서 레이아웃을 되도록 AutoLayout으로 구성한 다음,아래와 같이 TableView에 설정을 추가해 주자.12tableView.estimatedRowHeight = 225.. 더보기
[iOS] UITableView scroll to top UITableView이 Scroll을 최상위로 옮길 때 아래와 같은 소스 형태로 많이 할 것이다.12let indexPath = IndexPath(row: 0, section: 0)self.tableView.scrollToRow(at: indexPath, at: .top, animated: false)cs하지만, 저 같은 경우 가끔 TableView 첫.. 더보기
[iOS] change TableHeaderView height dynamically with autolayout TableHeaderView에 높이가 바뀌었을 경우 해당 뷰 높이를 갱신 하더라도 TableHeaderView의 영역이 변하지 않아 어려움을 겪으신 분들은 아래 소스를 참조해보세요.123456789101112if let headerView = tableView.tableHeaderView {          .. 더보기
[iOS] initWithCoder unrecognized selector sent to instance Model을 만들어 사용할 때 아래 와 같은 에러가 나올 경우, [ModelVO initWithCoder:]: unrecognized selector sent to instance한번 에러 나는 모델 소스가 아래와 같이 되어 있는지 확인 바란다.12345678910111213141516171819202122232425import Foundation class ModelVO : NSObject&.. 더보기
[iOS] LocalNotification ## LocalNotification 설정iOS 10 버전 이상 부터 UNUserNotificationCenter를 사용할 수 있다.우선 아래와 같이 UserNotifications를 import 시켜야 사용이 가능 합니다.1234import UserNotificationsimport UIKit class ViewController: UIViewController ,UNUserNotificatio.. 더보기
[iOS] Swift defer 블록 defer 블록 : 메소드 에서 코드의 흐름과 상관 없이 가장 마지막에 실행되는 블록SQLite3를 사용할 때 참고 하면 좋을 듯 하다.func dbExecute(dbPath: String) {        // 1        var db: OpaquePointer? = nil        guard sqlite3_open(dbPath, &a.. 더보기