공부방/iOS2019. 8. 22. 19:15iOS FCM 관련 제약 사항 정리.

1. 메시지 구성을 Notification에 title, body 로 구성 할 경우 해당 메시지를 다르게 변경해서 보여줄 수 없다. (OS에서 관리함) 2. Notification을 재구성해 사용자에게 보내주고 싶을 경우 payload안에 Notification을 없애고, 다른 key, value 값으로 보내고 payload를 파싱해서 Local Notification 으로 재구성 해서 보내주면 된다. 3. 하지만 2번 방법은 치명적인 단점이 있다. iOS 정책에 의해 App이 Background 로 들어간 후 메모리 부족등의 이유로 OS가 App을 메모리에서 해제 하면 Notification을 받을수 없다. 또한 사용자가 App을 Background에서 지워도 동일하게 받을수 없게된다. 4. 결론은 i..

how to invite testflight tester (TestFlight 테스터 초대  방법)
공부방/iOS2019. 8. 22. 13:57how to invite testflight tester (TestFlight 테스터 초대 방법)

TestFlight에 앱을 올리고 테스터들을 초대해야하는데 방법은 아래와 같다. 1. 아래 사이트에 들어간다. https://appstoreconnect.apple.com/access/users https://appstoreconnect.apple.com/login?targetUrl=%2Faccess%2Fusers&authResult=FAILED appstoreconnect.apple.com 2. + 버튼을 누른다. 3. 사용자 이름과 이메일, 역할에 맞게 체크후 초대를 누른다. 4. 초대완료후 사용자가 초대메일을 승인한뒤 5. https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app

공부방/iOS2019. 8. 19. 17:51Swift swiping gestures in WKWebView

아이폰 사파리 또는 브라우저에서 화면을 이동할때 손가락으로 Swipe를 하면서 Back 또는 forward 로 페이지 이동을 해 보았을 것이다. 해당 기능을 WKWebView 에서 이용하고 싶다면, wkWebView.allowsBackForwardNavigationGestures = true 옵션을 추가해 주면 된다. 참고 : https://stackoverflow.com/questions/32012428/swipe-gesture-for-back-forward-in-uiwebview

공부방/iOS2019. 8. 19. 14:09Swift WKWebView setting useragent for Google Sign-In

WKWebView 에서 구글 간편 로그인Google Sign-In을 사용하기 위해서는 UserAgent 변경을 해 주어야 한다. 모바일 환경에서는 Native Library의 API를 사용하는게 원칙 이기 때문인데 어쩔수 없이 기존 웹페이지에 포함된 구글 간편 로그인 기능을 사용하고 싶다면, 아래 처럼 WKWebView에 UserAgent를 따로 설정해 주면 된다. let userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12" override func loadView() { super.loadView() initWebView..

XCode Archive disable (XCode Archive 비활성)
공부방/iOS2019. 8. 16. 20:14XCode Archive disable (XCode Archive 비활성)

그림 1 처럼 XCode Archive 를 선택을 할수 없을때가 있는데 이때는 그림 2 에서 Device 를 실제 iPhone 으로 선택 해 주거나 Generic iOS Device 를 선택해 주면 활성화 된다.

공부방/iOS2019. 8. 9. 14:26Tip of find data in realm

Realm에서 데이터를 찾을때 realm.objects(Info.self).filter(age > 10) 방식으로 찾으면 실제 테이블이 아직 없거나 할경우 App 이 죽게 된다. 따라서 Object 에 PrimaryKey를 사용한다고 가정하에 아래와 같은 방법을 사용하면 옵셔널을 포함하여 안전하게 데이터를 가져올수 있다. realm.object(ofType: Info.self , forPrimaryKey: "0") 좀더 다양한 모델을 Generic 한 방법으로 여러 곳에서 공통으로 사용할 함수를 만들고 싶다면, 아래와 같이 선언하여 사용 가능하다. func getSafetyDataInRealm(_ className: T.Type, _ primaryKey: String?) -> T? { guard prim..

공부방/iOS2019. 8. 9. 14:17When iOS notification click remove all that how to block ?

iOS Notification 클릭후 앱을 실행시 만약 Badge Number 를 0으로 초기화 한다면, 기존의 읽지 않은 Notification 목록들이 전부 사라지게 된다. 이를 방지 하기 위해 Badge Number 만 0으로 초기화 시켜주고 싶다면, UIApplication.shared.applicationIconBadgeNumber = -1 으로 초기화 시켜주면 클릭한 Notification만 사라지고 나머지는 그대로 남아있게 된다.

공부방/iOS2019. 7. 31. 15:34Tip of update data in swift realm

Realm 에서 제공하는 기능중에 Primarykey 가 같으면 자동으로 데이터를 업데이트 해주는 기능이 있습니다. 이말인 즉 where 절 같은 조건을 줄 필요가 없다는 소리 입니다. 데이터를 추가하면 자동으로 업데이트가 필요한지 새로 튜플을 추가할건지 자동으로 실행 합니다. 사용 방법은 아주 간단한데, let realm = try! Realm() try? realm.write { realm.add(data, update: .modified) } update: .modified 를 추가해 주면 됩니다. 단! Model에 따로 primaryKey 가 정해져 있지 않으면 Error 를 뿜어내므로 주의 하시기 바랍니다.

defualtIfEmpty and switchIfEmpty
공부방/RxKotlin2019. 7. 29. 15:08defualtIfEmpty and switchIfEmpty

defualtIfEmpty 어떠한 배출 값도 없을 때 또는 빈 프로듀서가 나타날때 Default 값을 배출한다. Code Observable.range(0, 10) .filter { it > 10 } .defaultIfEmpty(15) .subscribe{println("Receive $it")} 결과 예외 만약 필터링에 Observable.range(0, 10) .filter { it > 8 } .defaultIfEmpty(15) .subscribe{println("Receive $it")} 배출되는 값이 있을경우 .defaultIfEmpty(15) 는 출력 되지 않는다. 결과 switchIfEmpty 어떠한 배출값도 없는경우 Default Observable을 반환 할수 있다. Code Observa..

How to use realm browser (Realm browser 사용 방법 )
공부방/iOS2019. 7. 26. 21:03How to use realm browser (Realm browser 사용 방법 )

먼저 https://apps.apple.com/kr/app/realm-browser/id1007457278?mt=12 ‎Realm Browser ‎Realm Browser is a viewer and editor for .realm data store files. It allows developers implementing Realm in their apps to easily view and debug the contents of the .realm files their apps have created. Features: - View all of the objects in a .realm file apps.apple.com 맥용 Realm Browser 를 설치해 줍니다. 설치후 실행해 보면 아래와 같은..

image