패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.5.1

launch_at_startup

이 플러그인을 사용하면 Flutter 데스크톱 앱이 시작 또는 로그인 시 자동으로 실행될 수 있습니다.

macOSWindowsLinux
30일 다운로드
4.7만
좋아요
151
Pub 점수
125

패키지 설치

flutter pub add launch_at_startup

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

launch_at_startup 패키지는 macOS, Windows 또는 Linux에서 사용자가 로그인할 때 Flutter 데스크톱 애플리케이션이 자동으로 시작되도록 합니다. 이 패키지는 플랫폼 간에 자동 시작 동작을 확인, 활성화 또는 비활성화할 수 있는 간단한 API를 제공합니다. 시스템 모니터, 알림 도구 또는 생산성 유틸리티와 같이 백그라운드에서 지속적으로 실행되어야 하는 앱에 특히 유용합니다. 플러그인은 Flutter의 데스크톱 지원과 원활하게 통합되며, 네이티브 코드 변경 없이도 작동합니다. 플랫폼별 메커니즘을 활용하여 시작 항목을 신뢰성 있게 관리합니다.

사용 사례

  • 백그라운드 모니터링 앱
  • 시스템 유틸리티 도구
  • 알림 서비스
  • 생산성 앱 자동 시작
  • 지속적인 데스크톱 애플리케이션

주요 기능

  • 크로스 플랫폼 시작 제어
  • 간단한 활성화/비활성화 API
  • 플랫폼별 구현
  • 네이티브 코드가 필요하지 않습니다
  • macOS, Windows 및 Linux를 지원합니다

적합한 대상

  • 자동 시작이 필요한 데스크톱 앱
  • 시스템 수준 유틸리티
  • 지속적인 존재가 필요한 앱
  • 다수의 데스크톱 OS를 대상으로 하는 개발자
  • 수동 사용자 개입 없이 실행되는 도구

고려 사항

  • 일부 시스템에서는 사용자 권한이 필요합니다
  • 다른 자동 시작 앱과 충돌할 수 있습니다
  • 동작은 운영체제에 따라 약간씩 다릅니다
  • 모바일 앱에 적합하지 않습니다
  • 사용자는 시스템 설정에서 수동으로 활성화해야 할 수 있습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

🚀 Ship Your App Faster: Try Fastforge - The simplest way to build, package and distribute your Flutter apps.

launch_at_startup

pub version

This plugin allows Flutter desktop apps to Auto launch on startup / login.


English | 简体中文


Platform Support

Linux macOS* Windows
✔️ ✔️ ✔️

*Required macOS support installation instructions below

Quick Start

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  launch_at_startup: ^0.5.1

Or

dependencies:
  launch_at_startup:
    git:
      url: https://github.com/leanflutter/launch_at_startup.git
      ref: main
Usage
import 'dart:io';

import 'package:launch_at_startup/launch_at_startup.dart';
import 'package:package_info_plus/package_info_plus.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  PackageInfo packageInfo = await PackageInfo.fromPlatform();

  launchAtStartup.setup(
    appName: packageInfo.appName,
    appPath: Platform.resolvedExecutable,
    // Set packageName parameter to support MSIX.
    packageName: 'dev.leanflutter.examples.launchatstartupexample',
  );

  await launchAtStartup.enable();
  await launchAtStartup.disable();
  bool isEnabled = await launchAtStartup.isEnabled();

  runApp(const MyApp());
}

// ...

Please see the example app of this plugin for a full example.

macOS Support

Setup

Add platform channel code to your macos/Runner/MainFlutterWindow.swift file.

import Cocoa
import FlutterMacOS
// Add the LaunchAtLogin module
import LaunchAtLogin
//

class MainFlutterWindow: NSWindow {
  override func awakeFromNib() {
    let flutterViewController = FlutterViewController.init()
    let windowFrame = self.frame
    self.contentViewController = flutterViewController
    self.setFrame(windowFrame, display: true)

    // Add FlutterMethodChannel platform code
    FlutterMethodChannel(
      name: "launch_at_startup", binaryMessenger: flutterViewController.engine.binaryMessenger
    )
    .setMethodCallHandler { (_ call: FlutterMethodCall, result: @escaping FlutterResult) in
      switch call.method {
      case "launchAtStartupIsEnabled":
        result(LaunchAtLogin.isEnabled)
      case "launchAtStartupSetEnabled":
        if let arguments = call.arguments as? [String: Any] {
          LaunchAtLogin.isEnabled = arguments["setEnabledValue"] as! Bool
        }
        result(nil)
      default:
        result(FlutterMethodNotImplemented)
      }
    }
    //

    RegisterGeneratedPlugins(registry: flutterViewController)

    super.awakeFromNib()
  }
}

then open your macos/ folder in Xcode and do the following:

Instructions referenced from "LaunchAtLogin" package repository. Read for more details and FAQ's.

Requirements

macOS 10.13+

Install

Add https://github.com/sindresorhus/LaunchAtLogin in the “Swift Package Manager” tab in Xcode.

Usage

Skip this step if your app targets macOS 13 or later.

Add a new “Run Script Phase” below (not into) “Copy Bundle Resources” in “Build Phases” with the following:

"${BUILT_PRODUCTS_DIR}/LaunchAtLogin_LaunchAtLogin.bundle/Contents/Resources/copy-helper-swiftpm.sh"

And uncheck “Based on dependency analysis”.

The build phase cannot run with "User Script Sandboxing" enabled. With Xcode 15 or newer where it is enabled by default, disable "User Script Sandboxing" in build settings.

(It needs some extra works to have our script to comply with the build phase sandbox.) (I would name the run script Copy “Launch at Login Helper”)

Who's using it?

License

MIT

카테고리

의존성

의존성 목록 1 개

소스 저장소

이 패키지를 사용하는 프로젝트