개발/IOS(Swift) 20

Firebase Auth

직접 서버에서 회원가입을 구현하려면 매우 귀찮은 작업인데 firebase에서는 매우 간단하게 회원가입 및 관리 기능을 제공합니다. 일단 콘솔에서 Auth로 가서, 저 같은 경우는 이메일 로그인만 사용하기 때문에 이메일 로그인을 처리했습니다, 상단에 import firebase를 하고 난 이후 아래 코드를 입력하면 됩니다. 매우 간단합니다. 여기서 success error를 나누고 각각에 맞는 액션을 추가해주면 됩니다.

개발/IOS(Swift) 2019.06.24

IOS Firebase 기본 세팅

IOS에서 파이어베이스를 사용할 때 Firebase 홈페이지로 들어가서 파이어베이스 생성을 해주고 IOS앱을 추가하여 시작합니다. Bundle Identifier를 입력하고 2번으로 넘어갑니다. 구성 파일을 넣어주고, 저는 Supporting Files에 넣었습니다. 그다음은 Firebase SDK를 추가해주는 작인데 Podfile를 이용해서 작업합니다. Podfile을 열어서 SDK 를 입력해주고 pod install 을 다시 해주면 됩니다.

개발/IOS(Swift) 2019.06.24

Delegate로 화면 데이터 전달

prepare안에 segue.destination as! ViewController 라는 형태로 데이터를 전달할 수 있는데 이런식으로 전달하면, 뷰컨트롤러끼리 상관관계때문에 데이터가 꼬일? 수 있다고 합니다. 또한, 양방향으로 데이터를 주고 받는 것이 되지 않구요 그래서 Delegate를 통해서 데이터를 전달하는데 아래의 예제를 볼게요 일단 이렇게 두개의 뷰를 만들어주고 두개의 뷰를 이어주고 뷰를 잇는 indentifier를 정의합니다. 그다음 두번째 뷰컨트롤러에 델리게이트를 정의하고 protocol sendBackDelegate { func dataReceived(data: String) } return button을 눌렀을 때 데이터를 넘겨주는 작업을 정의해줍니다. @IBAction func retu..

개발/IOS(Swift) 2019.06.22

화면이동 Segue

IOS경우 화면 이동하는 방법인데 일단 매우 간단하게 오른쪽 드래그로 끌어서 만들 수도 있습니다. 하지만, 데이터 이동 같은 것들을 처리하기 위해서 프로그래밍으로 처리해야 하는데 아래에서 설명해보겠습니다. 일단 저기 버튼을 클릭하지 말고 여기서부터 드래그를 시작해줍니다. 그러고 난 다음, 저기 중간에 선?에 대해 이름을 지정해준다. 나의 경우에는 goToSecondScreen 으로 했다. 자 그러면 이제 저 선(identifier)를 실행시켜보자. 아 또한, SecondViewController라는 파일을 만들어주고 스토리보드에 매핑해준다. 첫번째 화면에서 button event를 세팅해주는데 performSegue(withIdentifier: "goToSecondScreen", sender: self)..

개발/IOS(Swift) 2019.06.22

Positioning UI Elements Programmatically

UI를 스토리보드 화면에서 그리는 것이 아니라 코드로 그리는 법을 알아보겠습니다, 이렇게 코드를 기입하면 아래와 같이 빨간 네모가 생기는 것을 볼 수 있습니다. 코드를 뜯어보면 let square = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50)) -> square란 변수를 선언하는데 x,y축 0부터 그리고 가로세로 넓이를 50씩 한다 square.backgroundColor = UIColor.red -> square란 변수에 백그라운드 컬러를 빨강으로 한다 self.view.addSubview(square) -> square를 뷰에 추가해준다 일단 이렇게 간단하게 그려볼 수 있습니다.

개발/IOS(Swift) 2019.06.19

App Delegate

IOS 프로젝트를 처음 생성하면 위의 화면과 같은 디렉토리가 생깁니다. 이 중에서 처음에 가장 궁금했던 것이 AppDelegate입니다. 이건 과연 뭘까 라고 해서 봐 보니 대충 영어 읽어보니, 앱의 실행되고 종료되고 뭐 백그라운드에서 동작을 정의하는 것 같습니다. 이번 글에서는 개요만 설명하고, 좀 더 심도깊게 다룰 기회가 있으면 다뤄보도록 하겠습니다. application - 앱이 처음 시작 될 때 실행 applicationWillResignActive - 앱이 actice에서 inactive로 이동될 때 실행 applicationDidEnterBackground - 앱이 background 상태일 때 실행 applicationWillEnterForeground - 앱이 background에서 for..

개발/IOS(Swift) 2019.06.17

UI Handling programmatically 2

UI 핸들링을 동적으로 한번 해보겠습니다. 위의 그림과 같이, Roll 버튼을 눌렀을 때, 주사위를 동적으로 바꿔주는 작업인데 imageView1.image = UIImage(named : "이미지이름")을 넣어줘야 합니다. imageView2에도 마찬가지로 해주면 되겠죠. 첫번째로 diceArray라는 것을 만들어줘서 이미지 이름 리스트를 만듭니다. 그 다음에는 이미지 리스트에 있는 배열을 랜덤으로 하나씩 이미지뷰에 넣어주면 되겠죠? 아래 보시는 것 처럼 랜덤한 배열을 이미지뷰에 넣어주면 됩니다. 그렇다면 roll button 을 클릭하면 자동으로 주사위가 돌아갑니다. 매우매우 쉽습니다. 또한 한가지 테크닉을 해보자면 핸드폰을 흔들 때 일어나는 행동을 처리할 수 있는데 이런 코드를 넣으면 디바이스를 흔..

개발/IOS(Swift) 2019.06.17

UI Handling programmatically

Main.Storyboard 에서 UI를 그리는 방법이 있기는 한데, 이 그린 UI들을 프로그래밍으로 핸들링해야합니다. 우선 창을 보기 좋게 2개로 나눕니다. Xcode에서는 창을 이렇게 나눌 수 있습니다. 상단에 보이는 동그라미 2개 있는 부분 누르시면 이렇게 창이 2개로 분할됩니다. 그 다음 이미지를 클릭해서 오른쪽 클릭으로 쭉 끌어놓으면 ImageView1 란 이름을 입력해주고, 다른 주사위의 부분도 imageView2 라고 입력해주면 됩니다. 그러면 @IBOutlet var imageView1: UIImageView! 이라는 것이 생성되는데 이 imageView1 이라는 변수를 핸들링하며 저 이미지를 프로그래밍으로 조작하면 됩니다. 그렇다면 Event 처리는 어떻게 할까요? Event 처리도 매우..

개발/IOS(Swift) 2019.06.16

IOS - Hello World

모든 서비스의 기본인 Hello World 입니다. IOS의 경우 맥os에서 XCODE(엑스코드)를 설치하시면 되는데 엑스코드 설치 후, 실행시켜주면 됩니다. 그 다음은 두번째에 있는 Create a new Xcode project -> Single View App -> project name 에 원하는 프로젝트명 적으면 프로젝트가 생성됩니다. 뭔가 만들 수 있을 것 같은 화면이 나오는데, 여기 왼쪽에 보시면 Main.storyboard에서 레이아웃을 보통 설정합니다. 오른쪽 위에 동그라미 안에 네모를 클릭하면 여러가지 레이아웃에 요소(컴포넌트)들을 넣을 수 있는 창이 뜨는데 여기서 Label, Textview, Tableview 등을 선택하셔서 사용하시면 됩니다. 여기까지는 매우 쉬운 Hello wor..

개발/IOS(Swift) 2019.06.15