일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 주 4일 근무제 경험담
- stable-diffusion-webui local 접속
- no such module '__ObjC'
- Spring google SMTP settings
- DT_TOOLCHAIN_DIR cannot be used
- Android apple login identifier
- Firebase authentication apple login 최신
- 소개팅앱 만들기 flutter
- 로컬 서버 접속
- invite user for supabase project
- Spring LocalDateTime response array
- 소개팅앱 만들기 stomp
- Android apple login
- stable-diffusion-webui local 네트워크에서 접속
- Stomp socket connection event
- Firebase authentication apple login
- Supabase edge function insert data
- 주 4일 근무제 log
- supabase storage feature not enabled for this tenant
- supabase edge function deploy error
- Firebase authentication android apple login
- Android apple login 인증서 설정
- Firebase authentication android apple login setting
- 주 4일 근무제
- 소개팅앱 만들기
- Spring boot swagger blank screen
- supabase edge function deploy error supabaseurl is required
- supabase storage public url not working
- Stomp user connection event
- Supabase edge function
- Today
- Total
목록공부방/iOS (46)
꿀맛코딩
AsyncSubject onComplete 호출 시점에 가장 마지막 값을 배출한다. PublishSubject 구독 시점에 이어지는 값들을 배출한다. BehaviorSubject 구독전 마지막 값과 구독후의 모든 값들을 배출한다. ReplaySubject 구독 시점과 상관 업이 모든 값을 다시 전달 한다. 참고 : http://reactivex.io/documentation/ko/subject.html
기존 Google Analytics 가 훨씬 다양한 기능과 세부적인 필터링이 가능하지만 지원 중단 대상이 되었습니다. 따라서 Firebase Analytics 로 포스트 작성 하였습니다. https://support.google.com/analytics/answer/9167112?hl=ko&ref_topic=2587085 Google 웹로그 분석 서비스 SDK 지원 중단 - 애널리틱스 고객센터 도움이 되었나요? 어떻게 하면 개선할 수 있을까요? 예아니요 support.google.com App을 배포 하고 나서 사용자의 앱 반응이나, 각 기능별 활용도, 화면 별 사용률을 알수 있으면, 앱을 사용자의 편의성에 맞게 업데이트 하는데 유용한 정보가 될 것이다. 따라서 앱을 Tracking 하여 사용자의 앱 활..
요즘 어플리케이션은 대부분 수시로 추가되고 변하는 컨텐츠를 보여주는 방식이기 때문에 서버와의 통신이 불가피 하다. 따라서 오늘은 서버와 API 통신을 할수있게끔 도와주는 Alamofire 라이브러리를 적용해 보겠다. 1. 설치 Podfile에 pod 'Alamofire' 를 추가하고 터미널에서 해당 프로젝트 디렉토리 (Pod파일이 위치한 곳 )Pod install 을 입력해준다 2. 통신전 준비 - Model import Foundation struct BoardList: Codable { let idx: Int let title: String let content:String } - API Url 및 Param Code enum Result { case success(T) case error(Error..
1. Podfile에 pod 'RealmSwift' 2. 추가후 터미널에서 해당 프로젝트로 이동후 Pod Install 입력 3. Object 생성 예시) import RealmSwift class Person: Object { @objc dynamic var name = "" @objc dynamic var age = 0 } 4. 데이터 추가 (Create) let realm = try! Realm() let person = Person() person.name = "RealmTest" person.age = 10 try? realm.write { realm.add(person) } 5. 데이터 조회 (Read) - Realm에 저장된 모든 데이터 확인 let realm = try! Realm() le..
Crashlytics custom error 를 만들어 보겠습니다. 먼저 같이 사용하면 좋은 유용한 Crashlytics Method를 정리해 보겠습니다. 1. User Info Crashlytics.sharedInstance().setUserIdentifier("123456789") Crashlytics.sharedInstance().setUserEmail("person@domain.com") Crashlytics.sharedInstance().setUserName("Awesome AppUser") User Info 를 설정하는 Method 입니다. 위 처럼 설정하면 에러 이벤트 발생시 User Info 가 포함되어 보여집니다. Crashlytics 에 그림 1과 같이 User의 정보가 노출 됩니다. ..
이어서 fabric crashlytics install 과정을 시작하겠습니다. 일단 상단 메뉴에서 XCode -> Preferences 를 열어 줍니다. 다음으로 그림 1 처럼 Locations를 선택하고 Advanced 버튼을 클릭 해 줍니다. 그림 2 처럼 Custom 을 설정한후 Done 을 클릭후 설정창을 빠져 나옵니다. Xcode의 프로젝트 Navigator에서 프로젝트를 선택하고 그림 1처럼 보기 설정을 All, Combined 를 선택해 준후 Debug Information Format 를 검색하여 DWARF with dSYM File 로 설정을 변경해 준후 빌드를 해줍니다. 그럼 그림 2에 설정해보이는 Products 경로에 폴더가 생기는데 (-> 버튼을 눌러주면 Finder 가 열립니다 ..
2019년 7 월 10일 기준으로 작성 되었습니다. 기본적으로 Fabric에 회원가입은 완료가 되어 있다고 가정하고, 진행 하겠습니다. 회원가입을 진행하고, 로그인을 하면 플랫폼을 선택하는 화면이 나올건데, iOS를 선택 합니다. 그럼 Fabric-latest.zip 파일을 다운 받을수 있는데, 압축을 해제하고, 프로그램을 설치 해 줍니다. 그림 1 과 같은 화면이 나오면 왼쪽(코코아 팟 )이미지를 선택해 줍니다. 그림 2 처럼 Podfile 에 pod 'Fabric' pod 'Crashlytics' 를 추가해주고, 터미널에서 프로젝트 폴더로 이동하여 pod install 을 실행해 줍니다. 그림 3 에 2. Command를 Copy를 눌러 클립보드에 복사해 둡니다. Xcode로 돌아가서 프로젝트 네비케..
iOS local Notification 알림을 받으면, 알림을 받을때마다 한개씩 덮어씌어져 보이는 경우가 있고, 낱개로 분리되어 나타나는 경우가 있는데 이는 let request = UNNotificationRequest(identifier: "test", content: nContent, trigger: trigger) identifier 부분 차이 입니다. 이부분이 값이 동일하면 계속해서 한개의 푸쉬에 덮어 씌어져 보여지게 되고, 값이 다르면 나뉘어져 보이게 되는데 이부분은 푸쉬가 올때마다 기능에 맞게 다른 값으로 넣어주어 설정하게 되면 푸쉬가 분리 되어 보이게 됩니다. 예를 들어 Badge Number를 가지고 값을 바꾼다 하면 소스 코드는 아래와 같습니다. Swift Code let pushMe..
Android 와 iOS 는 Notification의 payload(Push 전송 데이터)에 따라 어떤식으로 동작하는지 간단하게 적어 보았습니다. 1. iOS와 Android 에서 기본 형식으로 Notification 을 노출 시키기 위해서는 { "notification": { "title": "테스트입니다.", "body": "메시지 테스트 내용" } } 형식으로 구성을 하면 됩니다. 하지만 이방식으로 Message를 보내면 Notification을 제대로 활용 하기 힘듭니다. 우리가 일반적으로 Push 기능을 사용하는것은 사용자에게 단순하게 Message를 전달하는 목적 뿐만 아니라, 사용자의 편의성을 위해 기능을 담기 때문입니다. 따라서 사용자가 Notification을 활용할 수 있게 하기 위해서..
UNUserNotificationCenterDelegate //Foreground Notification 처리 func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { completionHandler([.alert,.sound, .badge]) // completionHandler 호출을 해주어야 Notification 노출 } //Background Notification 처리 func userNot..