본문 바로가기

Swift

Xcode : FCM알람을 받아보았다 안드로이드에 이은 iOS로 FCM 받기 필요한것 1. 애플개발자 계정 (연 129,000원 결제 필요) 2. Mac PC 3. 아이폰 1번은 Apple의 Remote Notification서버를 이용하려면 필요하고 2번은 iOS앱 개발할 때 필수로 필요하고 3번은 애뮬레이터 있는데 왜 굳이 아이폰이 필요하냐고? 바로 애뮬레이터는 알림이 안오기 때문이다. 저거 모르고 테스트 했다가 멀쩡한 코드만 수십번 지웠다 한거 같다. (ㅂㄷㅂㄷ) Key파일과 Firebase프로젝트, Xcode패키지나, Pod 등은 세팅이 되었다고 가정한다. 위 사항은 구글링하면 많은 자료가 있기 때문. #코드 iOS의 FCM관련 코드는 모두 AppDelegate.swift에 적는다. 사실 안드로이드 코드도 액티비티 코드에 안들어가고 .. 더보기
Xcode : 싱글턴을 사용해 보았다. 학부생이라면 소프트웨어공학을 들어봤을 것이다. 팩토리메소드, 커멘드, 옵저버, 데코레이터, 추상팩토리 등등 많은 패턴 등이 있지만 내가 지금까지 8개정도의 프로젝트를 수행해보고 나서 배운 것 중에 가장 많이 써본것은 바로 "싱글턴" 패턴이였다. 먼저 싱글턴에 대해 간단히 설명하자면, 이렇게 클래스 A,B,C가 있다고 가정해보자 클래스 A,B 에서 클래스 C를 선언하고 사용하려면 언어마다 다르겠지만 자바 기준으로 "C c = new C();"이런식으로 생성자를 불러 객체를 생성해 줄 것이다. 그림으로 그리면 이렇게 될 것이다. 뭐 여기서 사용하는게 문제가 없다면 이렇게 쓰면 되는데, 만약 클래스 A에서 조작한 클래스 C의 내용이 클래스 B에서도 반영이 되어야 한다면? 이를 해결하기 위한 간단한 방법으로 싱.. 더보기
Xcode : 부모뷰에 접근해 보았다 모바일 앱을 만들다보면 다른 뷰로 전환하면서 특정한 데이터를 넘겨주어야 할 때가 있다. Xcode던 Android Studio건 자식뷰에 데이터를 넘겨주어서 뷰를 띄우는 것은 쉽다. 하지만 자식뷰가 종료될 시점에 부모뷰에 특정 데이터를 전달해야 한다면? 이런 문제가 나도 발생했기 때문에 또 열심히 박치기한 결과, 해결책을 찾아내어 그 방법을 포스팅한다. 단, 이 방법은 NavigationViewController가 활성화 되어 있어야한다. 일단 부모뷰 : MainViewController (mvc) 자식뷰 : DetailViewController (dvc) 라 가정하겠다. (내 과제가 이렇기에...) 먼저 자식뷰를 보면 이렇게 부모뷰에 대한 변수를 선언해준다. 그 다음에 부모뷰가 자식뷰에서 자신의 변수같.. 더보기