반응형

Programming 183

[iOS/Swift3.0] IBAction: Target-Action 알아보기

IBAction - target-action IBAction으로 객체에서 발생하는 액션을 코드로 연결해 사용자 동작에 상호 작용할 수 있게 만들 수 있다. UIKit에는 UIButton, UISwitch, UIStepper 등 UIControl을 상속받은 다양한 컨트롤 클래스가 있다. 그런 컨트롤 객체에 발생한 다양한 이벤트 종류를 특정 액션 메서드에 연결할 수 있다. 메소드의 형식을 갖는 IBAction은 리턴 타입으로 void 형을 가진다. 사용자 인터페이스에서 컨트롤은 사용자의 의도를 해석하고 다른 개체가 해당 요청을 수행하도록 지시한다. 스토리보드에서 ViewController로 액션을 연결하는 방식이 있고, addTarget() 메소드를 사용하여 이벤트를 연결할 수 있다. 사용자 인터페이스에서 ..

Programming/iOS 2018.05.15

[iOS/Swift3.0] Swift FCM Closed App Push Notification Click Event

swift fcm closed app push notification click event APNs로 되어있던 프로젝트를 FCM으로 바꾸면서 푸시 테스트를 몇번씩 진행을 하는데 앱을 강제 종료한 뒤 (홈버튼을 두번 눌러 앱을 날리는 것) 푸시를 받아 클릭하면 앱이 실행되고 그 이후의 동작을 하지않는 것을 발견하였다. 앱이 terminated/closed된 이후에도 푸시 클릭 이벤트를 받아 해당 링크로 갈 수 있게 하기 위해서는 delegate 메소드에 원하는 코드를 추가해야한다. AppDelegate에 UNUserNotificationCenterDelegate를 추가한 뒤 아래 메소드를 추가한다. userNotificationCenter(_, didReceive, withCompletionHandler)..

Programming/iOS 2018.04.23

[iOS/Swift] FCM 메세지 수신, 포그라운드 앱에서 데이터 메시지 처리하기

최근에 프로젝트에 FCM을 도입하였다.기존에 APNs로 되어있는 것에서 FCM 토큰을 받아 로그인 시 넘겨 푸시서비스를 이용하는데postman 프로그램 (https://www.getpostman.com) 에서 테스트할 때는 백그라운드, 포그라운드 모두 수신이 잘 되었었고 푸시 메세지 클릭하면 로직대로 잘 이동을 했었다. 그런데 서버 담당자가 만든 프로그램 -> FCM -> 휴대폰 푸시 수신으로 진행할 당시 포그라운드모드로 테스트를 진행하였는데푸시를 수신해서 클릭하면 화면 링크로 이동을 해야하는데, 그렇지않고 다른 화면으로 이동 후 원래 화면으로 돌아와야 푸시 수신을 알라내고 이동하는 오류가 있었다. FCM 공식 문서에서 내용을 확인할 수 있는데 일부 내용은 아래와 같다. 앱이 포그라운드 상태일 때 APN..

Programming/iOS 2018.04.12

[iOS/Swift3.0] 디바이스언어와 languageCode가 다를 때

Swift Language 내가 만든 앱 중 디바이스에 설정된 언어코드를 가져와 로그인 시 서버로 언어 코드를 넘기는 기능이 있었다. 그런데 사용자 중 iPhone X에서 앱 기능 중 일부가 영어로만 뜨는 문제가 발생해 급하게 패치를 하였다. 확인결과 iOS10에서는 해당 오류가 발생하지않았는데, iOS11부터 발생한 것으로 보여지는 것 같다. 그런데 다른 앱에서는 잘되는데.. 왜 이 앱에서 그러는지는 아직 이해를 잘 못하겠다. 가장 큰 문제는 디바이스언어가 ko, jp 등의 언어를 설정했음에도 Locale.current.languageCode로 가져오면 en만 뜨는 문제가 있었다.또 Locale.current.regionCode를 하면 현재 있는 곳이 한국이기에 ko_KR이었던가 en_KR로 떴던 것 ..

Programming/iOS 2018.04.12

[iOS/Swift3.0] Xcode9 image `image referenced from a nib in the bundle with identifier` 문제 해결

Xcode9 image image referenced from a nib in the bundle with identifier 문제 해결 Xcode9가 추석 이후 업데이트 되었고 업데이트 하고 생성한 프로젝트에서 이미지를 쓰려고 평소처럼 이미지를 Drag&Drop해서 놨고 StoryBoard에서도 잘 뜨는데 실행만 하면 image referenced from a nib in the bundle with identifier 에러가 발생했었다이미지 참조를 하지 못해 발생되는 문제였고 Xcode9부터 이미지를 참조하는 것이 변경된 것 같다 Assets.xcassets 폴더로 이동한다 + 선택한 후 import 메뉴를 선택한다 import할 이미지를 선택한다 평소대로 처리한다! 끝! iOS는 할수록 귀찮게 하는..

Programming/iOS 2017.10.19

[Git/GitHub] git commit message 변경하기

git commit message modify (커밋 메세지 수정하기) Android Studio에서 기능 하나를 수정하고 커밋하려는데 실수로 커밋메세지를 안바꾸고 커밋을 해버렸다… 다행히 push는 안한 상태라 수정하는 법을 알아보려고 했다아직 push를 안하고 제일 나중에 커밋한 경우만 아래 방법으로 수정할 수 있다 Android Studio > Terminal git commit --amend 명령어를 입력하고 Enter하면 vi 편집기로 들어간다 vi 편집기에서 d명령어로 기존 커밋 메세지를 지운다 i 명령어를 통해 insert 모드로 변경한다 변경할 커밋 메세지를 작성한다 작성 후 :wq를 입력해 편집기를 종료한다 push를 한다 완료! vi 편집기 명령어 : http://hyeonstorage..

[iOS/Swift3.0] iOS TodoList App 만들기 6 (데이터 영구 저장)

Let's make iOS TodoList App (TodoList App 만들기) 그동안 배운 것을 활용해보기 위해 할일을 적고 체크하는 TodoList 앱을 만들어보기로 합니다. 구현 기능 Todo List 조회 ✔️ Todo 등록 ✔️ Todo 삭제 ✔️ Todo 완료 체크 ✔️ 사용할 것 Navigation Controller UIBarButtonItem Auto Layout UserDefaults (데이터 영구 저장) UITableView (리스트 출력) UITextField, UITextView (Todo 등록) 지난 시간까지 TodoList 앱에 있을 조회, 등록, 삭제, 완료 기능을 구현하였습니다 지금 앱은 앱을 완전히 종료 후 다시 실행하면 기존에 입력했던 데이터가 사라집니다 왜냐하면 l..

Programming/iOS 2017.09.27

[iOS/Swift3.0] iOS TodoList App 만들기 5 (Todo 완료 체크)

Let's make iOS TodoList App (TodoList App 만들기) 그동안 배운 것을 활용해보기 위해 할일을 적고 체크하는 TodoList 앱을 만들어보기로 합니다. 구현 기능 Todo List 조회 ✔️ Todo 등록 ✔️ Todo 삭제 ✔️ Todo 완료 체크 사용할 것 Navigation Controller UIBarButtonItem Auto Layout UserDefaults (데이터 영구 저장) UITableView (리스트 출력) UITextField, UITextView (Todo 등록) Todo 삭제 기능까지 완료했고 이제 완료한 항목에 대해 checkmark를 표시하고 AlertDialog가 뜨도록 하겠습니다 선택한 row에 대해서 작동해야 하기 때문에 didSelect..

Programming/iOS 2017.09.27

[iOS/Swift3.0] iOS TodoList App 만들기 4 (Todo 삭제 기능)

Let's make iOS TodoList App (TodoList App 만들기) 그동안 배운 것을 활용해보기 위해 할일을 적고 체크하는 TodoList 앱을 만들어보기로 합니다. 구현 기능 Todo List 조회 ✔️ Todo 등록 ✔️ Todo 삭제 Todo 완료 체크 사용할 것 Navigation Controller UIBarButtonItem Auto Layout UserDefaults (데이터 영구 저장) UITableView (리스트 출력) UITextField, UITextView (Todo 등록) 지난 시간까지 화면을 구성하고 객체를 연결하고 Todo를 등록하고 조회하는 기능을 구현했습니다이번에는 Tableview의 editing을 사용하여 Todo를 삭제하는 기능을 구현하겠습니다삭제는 ..

Programming/iOS 2017.09.27
728x90
반응형