일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- swift 문자
- Flutter UIKitView MethodChannel
- native flutter view
- 스위프트 푸시
- Swift flutterviewcontroller
- NotificationService Extension
- flutter 회전
- 스위프트
- 앱 백그라운드 푸시 데이터 저장
- 푸시 데이터 저장
- Swift flutterview
- 안드로이드 숏컷
- 스위프트 테이블 뷰 셀
- 안드로이드 FCM
- 플러터 뷰 컨트롤러
- 스위프트 카메라
- FlutterView MethodChannel
- 앱 꺼졌을 때 푸시 데이터 저장
- silent push
- 스위프트 웹뷰
- 안드로이드 에러
- 스위프트 앨범
- 노티피케이션 익스텐션
- swift autolayout
- flutter rotate
- 안드로이드 바로가기
- Flutter NativeView
- 스위프트 UserDefaults
- swift sms
- 안드로이드 앨범
- Today
- Total
목록Study (178)
Things take time
[현상] iOS의 TableView를 그릴 때 기본적으로 사용하는 함수 중 하나는 아래의 함수다.func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 각 테이블 뷰의 row를 그릴 때, cell을 편집 및 리턴하는 함수다.여기서 스토리보드에 cell의 모양을 미리 그리고, cell 파일을 생성하여 연결 후 reuse identifier를 이용하여 호출하게 한다. 이 과정은 알고 있다 가정한다. 아래의 상황을 가정하자. 1. 테이블 뷰에는 여러 가지 타입의 셀이 있다.2. 각각의 셀에는 다양한 UI를 포함한다. (이미지 뷰 1개 + 텍스트 뷰 1개 & 뷰 안에 뷰 + 이미지 뷰2개 + 라벨 ..
[현상] 이제 앱 자체에서 사용하는 파일 경로는 아직도 File://로 얻어낼 수 있지만, 다른 앱(앨범, 동영상, 인터넷에서 공유하기 등)에서 온 데이터는 보안상의 이슈로 Content://로 시작하는 경로로 넘어온다. 이 데이터들을 실제 이미지 뷰에 뿌리거나 할 경우엔 Content://를 File://의 경로로 변경하여 new File(실제 경로)로 통해 접근할 수 있다. 그런데 사용자들 중에서도 일부는 에러가 발생해서 앱이 죽는다는 것을 알아냈다. 나는 이제 파일 패스를 얻는 방법이 바뀌었나 하고 구글을 엄청 뒤졌으나, 별로 나오는 것이 없었다(?). 즉, 이건 특정상황에서만 발생하는 이슈라는 것 경로를 찍어본 결과 아래와 같다. 1. 에러가 안나는 경로 content://com.google.an..
[오류 메시지]Caused by: java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs 그래들에서 라이브러리들을 건드리다 보면 나는 문제, 요새 계속 에러 발생이 너무 난다. 네이티브는 스튜디오 버전 관리하랴, 그래들 관리하랴.. 귀찮다 정말. 어쨌든, 해결 방법은 어떤 부분에서 에러를 났는지 부터 찾아야한다. 그러기 때문에, 저 메시지 안에있는 logs를 보라는 것에 주목하자. 1. 매니페스트 파일을 연다.2. 하단의 Merged Manifest탭을 클릭한다.3. 우측의 Error부분을 읽고 해석한다.4. 방법대로 해결한다.
[개요] 회원가입을 할때, 사용자의 이름을 입력받는다.그런데 여기서 특수문자를 넣는다거나, 이모티콘, 숫자들을 넣는 것을 방지하기 위함이다. [소스코드] func hasCharacters() -> Bool{ do{ let regex = try NSRegularExpression(pattern: "^[a-zA-Z가-힣ㄱ-ㅎㅏ-ㅣ\\s]$", options: .caseInsensitive) if let _ = regex.firstMatch(in: self, options: NSRegularExpression.MatchingOptions.reportCompletion, range: NSMakeRange(0, self.count)){ return true } }catch{ print(error.localized..