• Google Fonts : https://fonts.google.com/
  • 눈누 (한글 상업용으로 사용 가능한 글꼴들 많음) : https://noonnu.cc/index

 

 

위 경로에서 사용범위 확인하고, 폰트 ttf 파일 다운로드

프로젝트 파일에 assets(최상위) 폴더 생성후 하위에 fonts 폴더 추가생성

 

assets/fonts/gmarket 하위에 파일 drag & drop

pubspec.yaml

 >> 기존 기본 주석 되어있는거 삭제후 아래 내용 변경

  fonts:
    - family: GmarketSansTTF
      fonts:
        - asset: assets/fonts/gmarket/GmarketSansTTFLight.ttf
          weight: 300
        - asset: assets/fonts/gmarket/GmarketSansTTFMedium.ttf
          weight: 500
        - asset: assets/fonts/gmarket/GmarketSansTTFBold.ttf
          weight: 700

 

ㅇ 폰트 설정(참고)

https://adbrdev.notion.site/custom-font-7141c2fafb7044789b5834ddd78e063d

 

레이아웃 위에 위젯 작성
 > MaterialApp, Text, Scaffold, Appbar

 @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primarySwatch: Colors.green,
      ),
      home: Scaffold(
        appBar: AppBar(
          ),
        body: const Text('Flutter'),
      ),
    );
  }
  • MeterialApp내의 primarySwatch를 통해 컬러 지정 가능 (Colors. 뒤에 [command + .] 를 통해 색상 자동완성 변경 가능)
  • Scaffold를 통해 그려야, 까만화면이 그려지지 않음 
  • appBar 가 없는 상태의 Center는 전체의 Center 로 잡힘
  • command + . 으로 Wrap Cetner 지정 가능 



위젯 추출 해서 코드 나누기
> stateless widget

 

lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_application_1/pages/garden_home_page.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primarySwatch: Colors.green,
      ),
      home: const GardenHomePage(),
    );
  }
}
  • GardenHomePage를 호출하도록 따로 떼기

lib/pages/garden_home_page.dart

import 'package:flutter/material.dart';

class GardenHomePage extends StatelessWidget {
  const GardenHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Garden Home Page'),
        ),
        body: const Center (
          child: Text('center'),
        ),
    );
  }
}

 

Center

  • Appbar 영역 타이틀, body 텍스트 지정 
  • main에서 garden_home_page에 작성한 코드 호출

 

 

 


 

단일박스(컨테이너) 위젯 작성

Container, SizedBox, Center

하는이유? Layout을 위해서 <div> 등과같은...처리

 

 

Container 제공옵션

- padding (안쪽여백) / margin (바깥여백) / child / color / alignment 정렬

Alignment 

 - x축은 가로(-1 ~ 0 ~ 1)
 - y축은 세로 (-1 ~ 0 ~ 1) 
 0 은 각각의 센터

      body: Container(
        color: Colors.yellow,
        alignment: const Alignment(1, -1),
        child: const Text('Flutter My Home Page')
        )

 

 

 

color / padding(안쪽여백) / alignment / margin (바깥여백) / width / height

       body: Container (
          color: Colors.yellow,
          alignment: Alignment.topCenter,
          padding: const EdgeInsets.symmetric(
            horizontal:20,
            vertical: 50
            ),
          margin: const EdgeInsets.symmetric(
            horizontal:50,
            vertical: 50
            ),
          width: 100,
          height:300,
          child: const Text('Fluter My Home Page'),
        ),

 

margin 바깥여백

 	body: Container (
          color: Colors.yellow,
          margin: const EdgeInsets.symmetric(
            horizontal:100,
            vertical: 50
            ),
          child: const Text('Fluter My Home Page'),
        ),

padding 안쪽여백

 	body: Container (
          color: Colors.yellow,
          padding: const EdgeInsets.symmetric(
            horizontal:100,
            vertical: 50
            ),
          child: const Text('Fluter My Home Page'),
        ),

 

 

 

body:Container() 옵션값에서 alignment: Alignment.center 주면 그게 boy:Center 와 동일

 

SizedBox

SizedBox는 내가 어떤 위젯을 너비/높이 를 얼만큼 차지하는지? 자식

  body: Container (
          color: Colors.yellow,
          child: const SizedBox(
             width : 200,
             height : 200,
             child: Text(
              'Flutter My Home Page',
              style: TextStyle(fontSize: 20),
              ),
          )
        ),

 

 

단축키 설명
command + d (주석 등) 영역 선택하고 command+d 누르면 다음 동일한 항목이 같이 선택됨
>> 여러번 반복
command + shift + k 선택한 다중 행 삭제
command + . 코드추천 + 자동완성
command + i 제안(?)
option + shift + 아래키 복사할 영역 선택후 키입력하면 선택한 영역만큼 아래줄에 코드 복사
command + shift + p 명령창
shift + option + f 코드 들여쓰기 자동정렬
   
   
   

Root 기준 (작성중)

FLUTTER_APPLICATION_1 설명
.dart_tool  
.idea  
android Android 실행을 위한 네이티브 파일 (권한설정 등)
ios iOS 실행을 위한 네이티브 파일 (권한설정 등)
build  
lib Flutter프로젝트는 이 하위에 생성 (.dart)
test  
web  
.gitignore  
.metadata.pakages  
analysis_options.yaml linter (잔소리) / rule(규칙)
코드가 올바른방향으로 작성될 수 있도록 잔소리를 해주는 기능.
플러터 2.3.0버전 이후부터 Flutter 린트가 미리 채워진  해당파일과 함께 기본적으로 제공됨
수정은 가능하나, 권장되지 않음
flutter_application_1.iml  
pubspec.lock  
pubspec.yaml 패키지 넣고, asset(이미지/폰트 등) 파일수정이 잦음
 > command + shift + p 로 명령창 열어서 -> Add dependency -> image picker 클릭하면
    자동으로 install
README.md git에서 플러터 프로젝트

 

 

 

 

 

lib 하위 폴더구조 생성(실습용)

lib 하위 폴더 설명  
assets 폰트 등  
components 버튼, 컬러, 라우트 애니메이션, 사이즈, 테마  
config hive box name.. 등  
models 모델 데이터  
repositories hive CRUD DB 추가수정삭제 처리하는.. 
page 페이지  
services 서비스 로직 데이터 삽입전에 전처리/가공 등

 

 

 

 

 

 

 

 

 

'IT > Flutter' 카테고리의 다른 글

[Flutter] 위젯 사용  (0) 2022.11.12
[VSCode] 단축기 (Mac기준)  (0) 2022.11.12
[Flutter] iOS 기기에 Flutter앱 배포를 위한 설정  (0) 2022.10.26
미러링 화면 출력(mac)  (0) 2022.10.26
[Flutter] 환경설정 (mac)  (0) 2022.10.25

https://flutter.dev/docs/get-started/install/macos#deploy-to-ios-devices 

 

 

macOS install

How to install on macOS.

docs.flutter.dev

Flutter앱을 실제 IOS단말에 배포하려면 Apple 개발자 계정 필요

Flutter 앱을 실제 iPhone 또는 iPad에 배포하려면 Xcode와 Apple 개발자 계정에서 물리적 장치 배포를 설정해야 합니다. 앱이 Flutter 플러그인을 사용하는 경우 타사 CocoaPods 종속성 관리자도 필요합니다.

 


iOS 빌드할때

 > flutter / xcode / cocoapods 버전 신경써주어야함

> 맞지않을경우 빌드안됨 

 


iOS 기기에 배포

sudo gem install cocoapods

 

flutter 프로젝트 > ios 우측마우스 클릭 >  Open in XCode  우측마우스클릭 > Targts > Runner 

 Team에 개인개발자 계정 (무료도상관없음) 로그인/선택  

더보기

개발자계정도 만들고.. 실행을하면 되는데

실 단말이 iOS 16 -> XCode 13버전이라 지원못함

XCode 13에서 업데이트하려면 --> MAC이 12.5이하라 업뎃을 못함 (현재 11.6)

Mac 업뎃을 하고..다시..오겠읍니다.

 

 

참고 링크 : https://adbrdev.notion.site/iOS-78ba6ea029f141069e6f733f6c835cd0

 

플러터 iOS 실기기 연결 방법

0. 준비물

adbrdev.notion.site

 

 

 

+++++추가

flutter 프로젝트에서 ios 우클릭 > Open in XCode > Runner > Signing & Capabilities

 >>여기에서 등록한 개인계정 + Builder Identifier에서 기존에 디폴트로 셋팅된거에서 살짝 수정필요(프로젝트 명등)

 

 

 

'IT > Flutter' 카테고리의 다른 글

[Flutter] 위젯 사용  (0) 2022.11.12
[VSCode] 단축기 (Mac기준)  (0) 2022.11.12
[Flutter] 프로젝트 폴더 구조 살펴보기(작성중)  (0) 2022.11.12
미러링 화면 출력(mac)  (0) 2022.10.26
[Flutter] 환경설정 (mac)  (0) 2022.10.25
#설치
brew install scrcpy

#adb관련 path추가
brew install --cask android-platform-tools

#실행
scrcpy

 

 

iOS는 **사전에 Mac 연결 허용 + 실제 선으로 노트북과 폰을 연결

QuickTime Player를 실행 > 파일 > 새로운화면 기록으로 휴대폰 화면 미러링 가능함

mac 환경셋팅


VsCode

>> vsCode 사이트(최상단링크)에서 다운로드

마켓플레이스 (하단탭 최하단)에서 익스텐션 다운로드

 - Flutter / dart-import  / git History

 

Command + Shift + P로 검색창열기

바로가기 키


Flutter 환경셋팅

 >> https://docs.flutter.dev/get-started/install/macos 대부분 이거 따라함


Flutter 환경변수 설정

mac 터미널 기본경로 : /Users/사용자이름/

 

 

사용자의 .zshrc 파일  위치
~/.zshrc 

파일이 없어서, vi 편집기로 생성+수정

 >>  (esc +i 로 수정모드 변경. path지정후 esc + wq!)

 vi ~/.zshrc

경로 추가하는 라인 복붙 후 저장

study_flutter는 내가 생성한경로. flutter는 사이트에서 다운로드

#20221025 flutter
export PATH=$PATH:~/study_flutter/flutter/bin

 

source 명령어로 zshrc 파일 재실행

source ~/.zshrc

 

flutter 명령어로 설치확인. flutter doctor로 환경점검

flutter
flutter doctor

 

Android tool chain, license status 에러 (하단에서 해결예정)


 

 

Xcode 설치 + 권한설정 + iOS 시뮬구동

더보기

Xcode 설치

iOS용 Flutter 앱을 개발하려면 Xcode가 설치된 Mac이 필요합니다.

  1. 안정적인 최신 버전의 Xcode를 설치합니다( 웹 다운로드 또는 Mac App Store 사용 ).
  2. 명령줄에서 다음을 실행하여 새로 설치된 Xcode 버전을 사용하도록 Xcode 명령줄 도구를 구성합니다.이것은 최신 버전의 Xcode를 사용하려는 대부분의 경우에 올바른 경로입니다. 다른 버전을 사용해야 하는 경우 대신 해당 경로를 지정하십시오.
  3.  
  4. content_copy
    $ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    $ sudo xcodebuild -runFirstLaunch
    
  5. Xcode를 한 번 열고 확인하거나 sudo xcodebuild -license명령줄에서 실행하여 Xcode 라이센스 계약에 서명했는지 확인하십시오.

최신 안정 버전보다 오래된 버전은 계속 작동할 수 있지만 Flutter 개발에는 권장되지 않습니다.

Xcode를 사용하면 iOS 기기나 시뮬레이터에서 Flutter 앱을 실행할 수 있습니다.

iOS 시뮬레이터 설정

iOS 시뮬레이터에서 Flutter 앱을 실행하고 테스트할 준비를 하려면 다음 단계를 따르세요.

  1. Mac에서 Spotlight를 통해 또는 다음 명령을 사용하여 시뮬레이터를 찾으십시오.
  2.  
  3. content_copy
    $ open -a Simulator
    
  4. 시뮬레이터가 64비트 장치(iPhone 5s 이상)를 사용하고 있는지 확인하십시오. 시뮬레이터의 하드웨어 > 장치 또는 파일 > 시뮬레이터 열기 메뉴 에서 설정을 확인하여 장치를 확인할 수 있습니다 .
  5. 개발 머신의 화면 크기에 따라 시뮬레이션된 고밀도 iOS 장치가 화면을 넘칠 수 있습니다. 시뮬레이터의 모서리를 잡고 끌어 스케일을 변경합니다. 컴퓨터의 해상도가 충분히 높은 경우 창 > 물리적 크기 또는 창 > 정확한 픽셀 옵션 을 사용할 수도 있습니다 

 

시뮬레이터가 잘 열리면 됨

 

 

Flutter doctor 조치(1) Android tool chain

 Android toolchain - develop for Android devices (Android SDK version 33.0.0)

    cmdline-tools component is missing

      Run `path/to/sdkmanager --install "cmdline-tools;latest"`

      See https://developer.android.com/studio/command-line for more details.

 

ㅇ 경로 : Android  스튜디오 > Preferences > System Settings > Android SDK > SDK Tools  

             >> Android SDK Command-line Tools 다운로드

 

Flutter doctor 조치(2) license status 에러

Android toolchain - develop for Android devices (Android SDK version 33.0.0)

    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor

      --android-licenses

 

terminal 창에서 아래 명령어 입력후, y y y 계속 동의하면됨..

flutter doctor --android-licenses

 

성공!!

 

+ Recent posts