티스토리 뷰

반응형

 

안녕하세요 :) Zedd입니다.

오늘은 Flutter에서 지금 iOS환경인지..Android환경인지 구분하는 방법을 공부해보겠습니다!

먼저 foundation을 import해주세요.

import 'package:flutter/foundation.dart' as foundation;

이제

foundation.defaultTargetPlatform == foundation.TargetPlatform.iOS;

foundation.defaultTargetPlatform == foundation.TargetPlatform.android;

이런식으로 구분할 수 있습니다.

 

방법 1 : 프로퍼티를 만든다. 

class ZeddApp extends StatelessWidget {

  bool get isiOS => foundation.defaultTargetPlatform == foundation.TargetPlatform.iOS;

  @override
  Widget build(BuildContext context) {
    if (this.isiOS) {
      return CupertinoApp(home: MainTabBar());
    } else {
      return MaterialApp(home: MainTabBar());
    }
}

 

방법 2 : switch case문을 이용한다.

class ZeddApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    switch (foundation.defaultTargetPlatform) {
      case foundation.TargetPlatform.iOS:
        return CupertinoApp(home: MainTabBar());
      case foundation.TargetPlatform.android:
        return MaterialApp(home: MainTabBar());
    }
  }
}

 

이런식으로 하면, 각 플랫폼에 맞는 UI를 구성할 수 있게 되겠죠!?

iOS는 CupertinoApp을 쓰고..Android는 MaterialApp을 쓰고!

반응형