(c#,자마린강좌)ios helloworld, 아이폰, xamarin.ios 시뮬레이터 실습예제 따라하기

15
자마린(Xamarin) Hello iOS 실습 Xamarin.iOS 이종철, 탑크리에듀(www.topcredu.co.kr)

Upload: 3-2

Post on 07-Jan-2017

751 views

Category:

Education


8 download

TRANSCRIPT

Page 1: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

자마린(Xamarin) Hello iOS 실습

Xamarin.iOS

이종철, 탑크리에듀(www.topcredu.co.kr)

Page 2: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

Hello iOS

(Xamarin.iOS Application)

xamarin.com의 phoneworld Hello iOS 프로젝트를 따라해 보자.

(문자로 입력된 전화번호를 숫자로 변환하고 실제 전화를 거는 응용 앱)

https://developer.xamarin.com/guides/ios/getting_started/hello,_iOS/hello,iOS_quickstart/

설치환경

윈도우 10, 비주얼 스튜디오 커뮤니티 2015, Xamarin 4.2.1.60

Mac장비 : Mac OS 10.10 이상, 최신버전의 Xcode and iOS SDK 설치, Xamarin Studio 설치

윈도우 환경의 Xamarin.iOS 버전과 Mac쪽의 버전이 호환되어야 한다.(현재 10.2)

시스템환경설정의 공유에서 원격로그인 허용되야 하며 만약 방화벽 설정되어 있으면 해지.

(시스템환경설정 -> 보안및개인정보보안 -> 방화벽)

https://developer.xamarin.com/guides/ios/getting_started/hello,_iOS/hello,iOS_quickstart/ 참조

실습코드는 http://ojc.asia에서 다운로드 가능 합니다.

Page 3: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

1. 비주얼 스튜디오를 실행 후 File -> New Project 후 좌측 Template에서 iOS ->

iPhone 클릭 후 오른쪽의 Single View App(iPhone)를 선택하고, 프로젝트 이름은

“Phoneword.iOS”, “확인” 버튼을 클릭.

Page 4: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

2. 비주얼스튜디오 -> 도구 -> dhqtus -> Xamarin -> iOS Setting -> Mac Agent

가 등록되어 있지 않다면 아래와 같이 mac 장비의 IP주소, 로그인계정, 비밀번호를

입력해서 Mac에 로그인 해야 한다. (mac쪽에 사용자 생성되어 있어야 함)

Page 5: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

3. 솔루션 탐색기에서 Main.storyboard 클릭 후 View AS iPhone6 선택

Page 6: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

4. 보기 -> 도구상자에서 Label을 선택해서 디자인 화면 중앙에 위치 시킨 후 크기를

화면처럼 늘이자.

Page 7: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

5. 보기 -> 도구상자 클릭 후 도구상자에서 Label을 선택해서 디자인 화면 중앙에 위치 시킨 후 크기를 화면처럼 늘이고 우측하단 속성창 Label -> Text 에서 “Enter a

Phoneword”라고 입력하자.

Page 8: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

6. 도구상자에서 Text Field를 선택해서 Label 아래에 위치 시킨 후 크기를 적당히 조절하고 우측하단 속성창의 Name속성을 “PhoneNumberText”, Text 속성을 “Text

또는 Number를 입력하세요”로 설정하자.

Page 9: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

7. 도구상자에서 Button을 선택해서 Text Field 아래에 위치 시킨 후 크기를 적당히

조절하고 우측하단 속성창의 Identity -> Name속성을 “TranslateButton”, Button -

> Title 속성을 “변환하기”로 설정하자.

Page 10: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

8. 도구상자에서 Button을 한번 더 선택해서 이전에 만든 버튼 아래에 위치 시킨 후

크기를 적당히 조절하고 우측하단 속성창의 Identity -> Name속성을 “CallButton”,

Button -> Title 속성을 “전화걸기”로 설정하자.

Page 11: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

9. 사용자가 Text Field에 입력한 문자를 숫자로 변환하는 코드를 작성하자. 물론 숫자를 입력하면 그대로 두는 로직이다. 프로젝트에서 마우스 우측버튼 -> Add ->

New Item(새항목)을 클릭 후 창이뜨면 Apple -> Code -> Class를 선택 후 파일이름을 “PhonewordTranslator”로 하자.

Page 12: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

10. PhoneTranslator.cs 파일의 내용을 아래 내용으로 입력하자. - 1

using System.Text;

using System;

namespace Phoneword.iOS {

public static class PhonewordTranslator {

public static string ToNumber(string raw)

{

if (string.IsNullOrWhiteSpace(raw)) {

return "";

} else {

raw = raw.ToUpperInvariant();

}

var newNumber = new StringBuilder();

foreach (var c in raw)

{

if (" -0123456789".Contains(c)) {

newNumber.Append(c);

} else {

var result = TranslateToNumber(c);

if (result != null) {

newNumber.Append(result);

}

}

// otherwise we've skipped a non-numeric

char

}

return newNumber.ToString();

}

Page 13: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

10. PhoneTranslator.cs 파일의 내용을 아래 내용으로 입력하자. - 2

static bool Contains(this string keyString, char c)

{

return keyString.IndexOf(c) >= 0;

}

static int? TranslateToNumber(char c)

{

if ("ABC".Contains(c)) {

return 2;

} else if ("DEF".Contains(c)) {

return 3;

} else if ("GHI".Contains(c)) {

return 4;

} else if ("JKL".Contains(c)) {

return 5;

} else if ("MNO".Contains(c)) {

return 6;

} else if ("PQRS".Contains(c)) {

return 7;

} else if ("TUV".Contains(c)) {

return 8;

} else if ("WXYZ".Contains(c)) {

return 9;

}

return null;

}

}

}

Page 14: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

11. ViewController.cs 파일의 ViewDidLoad() 메소드 뒤부분에 “변환버튼”을 활성화 하기위한 코드를 추가하자.

using System.Text;

using System;

namespace Phoneword.iOS {

public static class PhoneTranslator {

public static string ToNumber(string raw)

{

if (string.IsNullOrWhiteSpace(raw)) {

return "";

} else {

raw = raw.ToUpperInvariant();

}

var newNumber = new StringBuilder();

foreach (var c in raw)

{

if (" -0123456789".Contains(c)) {

newNumber.Append(c);

} else {

var result = TranslateToNumber(c);

if (result != null) {

newNumber.Append(result);

}

}

// otherwise we've skipped a non-numeric

char

}

return newNumber.ToString();

}

Page 15: (C#,자마린강좌)iOS HelloWorld, 아이폰, Xamarin.iOS 시뮬레이터 실습예제 따라하기

This Practice makes the Expert!

C#,ADO.NET,Network

프로그래밍 기초과정 C#기초, Xamarin 앱 개발과정 Xamarin 앱개발 과정