본문 바로가기

IOS39

React Native/ iOS ] 리엑트 네비게이션 (React Navigation) 시작하기 iOS앱에서 화면간 전환을 담당하는 기능을 네비게이션이라고 칭한다. 리엑트 네이티브에서는 공식적으로 네비게이션 처리를 제공하지 않기 때문에 네이게이션 기능을 사용하기 위해서는 써드파티 라이브러리를 사용해야한다. 그 중 널리 쓰이고 있는 React Navigation(reactnavigation.org/)이라는 서드파티 모듈을 공부해 보려한다. 사용에 앞서 React Navigation 설치하고 실행까지 해보는 것을 알아 보겠다. 1. 리엑트 네이티브 앱 프로젝트 생성하기 일단 리엑트 네이티브 앱 프로젝트를 적절한 위치에 생성해 준다. npx react-native init myNav 2. React Navigation 관련 모듈 패키지 설치하기 React Navigation은 서드파티이므로 따로 패키지를.. 2020. 9. 23.
iOS React Native 환경 구축하기 이번에 알아볼 내용은 React Native 개발환경을 macOS에서 구축하기 위한 방법이다. React Native는 페이스북에서 개발한 오픈소스 모바일 애플리케이션 프레임워크로 기존의 Web에서 사용하는 React를 Native 모바일 애플리케이션을 개발하는데 사용할 수 있다. 하지만 완전히 호환되지는 않는다. https://reactnative.dev/ React Native · A framework for building native apps using React A framework for building native apps using React reactnative.dev 그럼 이제 본격적으로 React Native 개발환경을 macOS환경에서 구축하는 법을 알아 보겠다. 1. homebre.. 2020. 9. 5.
아이폰 사파리 탭 모두 닫기 아이폰에서 사파리를 주로 기본브라우저로 사용합니다. 그런데 이게 쓰다보니 열린 탭을 닫지 않고 계속 새로운 탭만 추가해서 쓰게 되더군요.. 이제는 너무 많이 열려 닫을 모두 하나하나 닫기가 어려워 졌습니다. 찾아보니 아이폰 사파리 탭을 모두 닫을 수 있는 기능을 제공하고 있었습니다. 우선 사파리를 열고 탭보기 버튼을 눌러줍니다. 다음 탭보기 화면에서 우측 하단에 완료를 꾹 롱터치 해줍니다. 그럼 이제 모두 탭을 닫겠냐고 물어봅니다. 81개나 열고 있었습니다. 아이폰은 친절하게 한번더 닫겠냐고 물어보네요.. 이렇게 아이폰의 사파리 탭을 한번에 닫을 수 있습니다. 2020. 3. 10.
Swift 함수 2 - 함수형 프로그래밍? 0. 함수형 프로그래밍??? Swift코드를 처음 접하게 된다면 적지 않게 난감한 코드가 눈에 들어오는데 바로 함수이다. 앞서 포스팅한 함수는 기존 여타 다른 언어들(절차지향적 언어, 명령형언어 java, C 등등)과 마찬가지 수준이지만 오늘 공부한 함수는 바로 함수형 프로그래밍의 페러다임에 따라 다양한 함수의 사용성을 공부해보고자 한다. 나는 주로 현업에서 Windows 시스템 프로그래밍을 하고 있는 개발자 이기 때문에 C, C++문법에 좀 더 익숙하다. 이런 관점에서 봤을 때 함수형 프로그래밍 언어인 스위프트를 봤을 때 상당히 낯설다. 이론적으로 찾아보면 함수형 프로그래밍의 가장 큰 특징은 프로그램의 상태에 관계없이 항상 같은 결과를 얻어낼 수 있다는 점이다. 이게 무슨말인지 함수형 프로그래밍을 해보.. 2019. 12. 1.
Swift - 함수 0. 스위프트에서 함수를 선언하기 스위프트에서 함수는 아래와 같은 형태로 선언된다. func 함수이름(파라미터1이름: 파라미터1타입, 파라미터2이름: 파라미터2타입 ... ) -> 반환타입 { //코드 return 반환값 } func라는 키워드로 선언되며 파라미터를 이름과 타입 형태로 나열한다. 반환 타입은 -> 뒤에 써둔다. 실제 함수를 선언하고 호출 하려면 아래 예제코드와 같이 하면된다. import Foundation //함수 선언 func plusNum(a: Int, b: Int) -> Int{ return a + b } let result = plusNum( a: 5, b:6) //함수 호출 print(result) 1. 반환값이 있는 없는 함수 선언하기 반환 값이 없는 함수는 Void를 리턴 .. 2019. 11. 27.
Swift 상수, 변수 스위프트에도 상수와 변수의 개념이 존재한다. 상수는 변하지 않는 값을 말하며, 변수는 변하는 값을 말한다. 변수는 var, 상수는 let 키워드를 통해 선언 될 수 있다. 1. 상수 : let 상수는 변하지 않는 값을 저장한다. 아래 예제코드를 보자. import Foundation let a : Int //상수 선언 a = 5 // 값대입 print(a) a = 6 //상수는 변경할 수 없다. a라는 상수를 선언하고 5를 대입하였다. 한번 출력하고 6을 입력할 때 컴파일러는 에러를 내놓는다. /tmp/B9F84CA6-7E22-4113-AE2E-A0D6A98845B4.beSm8X/main.swift:10:3: error: immutable value 'a' may only be initialized on.. 2019. 11. 27.
SwiftUI] 스위프트UI에서 UNUserNotificationCenter 사용하기 지난번 포스트에서 iOS의 UNUserNotificationCenter를 이용해보는 예제를 알아 보았었다. 이번에는 iOS13에서 발표된 SwiftUI를 이용하여 사용할 때는 어떻게 사용하는지 무엇이 다른지 알아 보겠다. 1. SwiftUI에서 viewDidLoad 함수 구현은 어떻게? viewDidLoad는 iOS view생명주기(LifeCycle)에서 뷰가 로드된 후의 작업을 정의할 수 있다. 부모클래스의 함수를 override하여 정의한다. 대부분 윈도우의 MFC나 안드로이드나 이런 방식으로 정의 한다. swiftUI는 UI요소마다 Modifier를 설정하여 속성을 변경한다. SwiftUI에서 Action을 정의할 때에도 같은 방식으로 정의한다. SwiftUI도 다를바가 없다. SwiftUI에서도 .. 2019. 11. 20.
Swift / iOS ] UNUserNotificationCenter를 이용하여 타임 트리거 사용해보기 오늘은 UNUserNotificationCenter를 이용해보는 예제를 작성해 보겠다. 그전에 UNUserNotificationCenter란 무엇인가? Apple 개발자 문서에 따르면.. UNUserNotificationCenter는 앱이나 앱의 익스텐션들과 관련된 여러 알림들을 중앙에서 관리하는 객체라 한다. 이를 사용하기 위해서는 사용자에게 알람을 허락 받는 퍼미션을 물어봐야한다. 알림과 뱃지, 소리 등을 설정할 수 있고 스케줄링으로 푸시를 줄수도 있다 한다. 더 자세한 내용은 개발자 문서를 참고 https://developer.apple.com/documentation/usernotifications/unusernotificationcenter UNUserNotificationCenter - Use.. 2019. 11. 20.
Swift ] Swift로 콘솔 출력 해보기 print 프로그래밍언어를 처음 배우면 가장 먼저 하는 것은 바로 hello world! 출력하기 일 것 이다. 출력은 프로그램의 결과물이며 프로그래머가 작성한 프로그램이 올바르게 동작했는지 확인하는 가장 확실한 방법이기 때문이다. printf("hello world\n"); console.log("hello world"); System.out.print("hello world"); print "hello world" echo "hello world" .... Swift를 배우는 첫걸음으로 콘솔 출력을 해보자. 다른 언어와 같이 콘솔 출력은 간단한 함수 하나로 시작된다. print https://developer.apple.com/documentation/swift/1541053-print print(_:separ.. 2019. 11. 17.