diff options
| author | uvok | 2025-07-21 15:23:19 +0200 | 
|---|---|---|
| committer | uvok | 2025-07-21 15:23:19 +0200 | 
| commit | 9532e812f84a089cbf7fe8f35b3fa119fa17d728 (patch) | |
| tree | 95c0ca0a6b5bd83dcb86175356d554b8ad89c91b /macos/Runner | |
Add q&d flutter app
Diffstat (limited to 'macos/Runner')
18 files changed, 522 insertions, 0 deletions
| diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..b3c1761 --- /dev/null +++ b/macos/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { +  override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { +    return true +  } + +  override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { +    return true +  } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ +  "images" : [ +    { +      "size" : "16x16", +      "idiom" : "mac", +      "filename" : "app_icon_16.png", +      "scale" : "1x" +    }, +    { +      "size" : "16x16", +      "idiom" : "mac", +      "filename" : "app_icon_32.png", +      "scale" : "2x" +    }, +    { +      "size" : "32x32", +      "idiom" : "mac", +      "filename" : "app_icon_32.png", +      "scale" : "1x" +    }, +    { +      "size" : "32x32", +      "idiom" : "mac", +      "filename" : "app_icon_64.png", +      "scale" : "2x" +    }, +    { +      "size" : "128x128", +      "idiom" : "mac", +      "filename" : "app_icon_128.png", +      "scale" : "1x" +    }, +    { +      "size" : "128x128", +      "idiom" : "mac", +      "filename" : "app_icon_256.png", +      "scale" : "2x" +    }, +    { +      "size" : "256x256", +      "idiom" : "mac", +      "filename" : "app_icon_256.png", +      "scale" : "1x" +    }, +    { +      "size" : "256x256", +      "idiom" : "mac", +      "filename" : "app_icon_512.png", +      "scale" : "2x" +    }, +    { +      "size" : "512x512", +      "idiom" : "mac", +      "filename" : "app_icon_512.png", +      "scale" : "1x" +    }, +    { +      "size" : "512x512", +      "idiom" : "mac", +      "filename" : "app_icon_1024.png", +      "scale" : "2x" +    } +  ], +  "info" : { +    "version" : 1, +    "author" : "xcode" +  } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.pngBinary files differ new file mode 100644 index 0000000..82b6f9d --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.pngBinary files differ new file mode 100644 index 0000000..13b35eb --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.pngBinary files differ new file mode 100644 index 0000000..0a3f5fa --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.pngBinary files differ new file mode 100644 index 0000000..bdb5722 --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.pngBinary files differ new file mode 100644 index 0000000..f083318 --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.pngBinary files differ new file mode 100644 index 0000000..326c0e7 --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.pngBinary files differ new file mode 100644 index 0000000..2f1632c --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png diff --git a/macos/Runner/Base.lproj/MainMenu.xib b/macos/Runner/Base.lproj/MainMenu.xib new file mode 100644 index 0000000..80e867a --- /dev/null +++ b/macos/Runner/Base.lproj/MainMenu.xib @@ -0,0 +1,343 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> +    <dependencies> +        <deployment identifier="macosx"/> +        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/> +        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> +    </dependencies> +    <objects> +        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication"> +            <connections> +                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/> +            </connections> +        </customObject> +        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> +        <customObject id="-3" userLabel="Application" customClass="NSObject"/> +        <customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Runner" customModuleProvider="target"> +            <connections> +                <outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/> +                <outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/> +            </connections> +        </customObject> +        <customObject id="YLy-65-1bz" customClass="NSFontManager"/> +        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6"> +            <items> +                <menuItem title="APP_NAME" id="1Xt-HY-uBw"> +                    <modifierMask key="keyEquivalentModifierMask"/> +                    <menu key="submenu" title="APP_NAME" systemMenu="apple" id="uQy-DD-JDr"> +                        <items> +                            <menuItem title="About APP_NAME" id="5kV-Vb-QxS"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <connections> +                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/> +                                </connections> +                            </menuItem> +                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/> +                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/> +                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/> +                            <menuItem title="Services" id="NMo-om-nkz"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/> +                            </menuItem> +                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/> +                            <menuItem title="Hide APP_NAME" keyEquivalent="h" id="Olw-nP-bQN"> +                                <connections> +                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO"> +                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> +                                <connections> +                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Show All" id="Kd2-mp-pUS"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <connections> +                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/> +                                </connections> +                            </menuItem> +                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/> +                            <menuItem title="Quit APP_NAME" keyEquivalent="q" id="4sb-4s-VLi"> +                                <connections> +                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/> +                                </connections> +                            </menuItem> +                        </items> +                    </menu> +                </menuItem> +                <menuItem title="Edit" id="5QF-Oa-p0T"> +                    <modifierMask key="keyEquivalentModifierMask"/> +                    <menu key="submenu" title="Edit" id="W48-6f-4Dl"> +                        <items> +                            <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg"> +                                <connections> +                                    <action selector="undo:" target="-1" id="M6e-cu-g7V"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam"> +                                <connections> +                                    <action selector="redo:" target="-1" id="oIA-Rs-6OD"/> +                                </connections> +                            </menuItem> +                            <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/> +                            <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG"> +                                <connections> +                                    <action selector="cut:" target="-1" id="YJe-68-I9s"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU"> +                                <connections> +                                    <action selector="copy:" target="-1" id="G1f-GL-Joy"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL"> +                                <connections> +                                    <action selector="paste:" target="-1" id="UvS-8e-Qdg"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk"> +                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> +                                <connections> +                                    <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Delete" id="pa3-QI-u2k"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <connections> +                                    <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m"> +                                <connections> +                                    <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/> +                                </connections> +                            </menuItem> +                            <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/> +                            <menuItem title="Find" id="4EN-yA-p0u"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <menu key="submenu" title="Find" id="1b7-l0-nxx"> +                                    <items> +                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W"> +                                            <connections> +                                                <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz"> +                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> +                                            <connections> +                                                <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye"> +                                            <connections> +                                                <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV"> +                                            <connections> +                                                <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt"> +                                            <connections> +                                                <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd"> +                                            <connections> +                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/> +                                            </connections> +                                        </menuItem> +                                    </items> +                                </menu> +                            </menuItem> +                            <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <menu key="submenu" title="Spelling" id="3IN-sU-3Bg"> +                                    <items> +                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI"> +                                            <connections> +                                                <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7"> +                                            <connections> +                                                <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/> +                                        <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/> +                                            </connections> +                                        </menuItem> +                                    </items> +                                </menu> +                            </menuItem> +                            <menuItem title="Substitutions" id="9ic-FL-obx"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <menu key="submenu" title="Substitutions" id="FeM-D8-WVr"> +                                    <items> +                                        <menuItem title="Show Substitutions" id="z6F-FW-3nz"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/> +                                        <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Smart Quotes" id="hQb-2v-fYv"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Smart Dashes" id="rgM-f4-ycn"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Smart Links" id="cwL-P1-jid"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Data Detectors" id="tRr-pd-1PS"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Text Replacement" id="HFQ-gK-NFA"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/> +                                            </connections> +                                        </menuItem> +                                    </items> +                                </menu> +                            </menuItem> +                            <menuItem title="Transformations" id="2oI-Rn-ZJC"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <menu key="submenu" title="Transformations" id="c8a-y6-VQd"> +                                    <items> +                                        <menuItem title="Make Upper Case" id="vmV-6d-7jI"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Make Lower Case" id="d9M-CD-aMd"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Capitalize" id="UEZ-Bs-lqG"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/> +                                            </connections> +                                        </menuItem> +                                    </items> +                                </menu> +                            </menuItem> +                            <menuItem title="Speech" id="xrE-MZ-jX0"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <menu key="submenu" title="Speech" id="3rS-ZA-NoH"> +                                    <items> +                                        <menuItem title="Start Speaking" id="Ynk-f8-cLZ"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/> +                                            </connections> +                                        </menuItem> +                                        <menuItem title="Stop Speaking" id="Oyz-dy-DGm"> +                                            <modifierMask key="keyEquivalentModifierMask"/> +                                            <connections> +                                                <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/> +                                            </connections> +                                        </menuItem> +                                    </items> +                                </menu> +                            </menuItem> +                        </items> +                    </menu> +                </menuItem> +                <menuItem title="View" id="H8h-7b-M4v"> +                    <modifierMask key="keyEquivalentModifierMask"/> +                    <menu key="submenu" title="View" id="HyV-fh-RgO"> +                        <items> +                            <menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa"> +                                <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> +                                <connections> +                                    <action selector="toggleFullScreen:" target="-1" id="dU3-MA-1Rq"/> +                                </connections> +                            </menuItem> +                        </items> +                    </menu> +                </menuItem> +                <menuItem title="Window" id="aUF-d1-5bR"> +                    <modifierMask key="keyEquivalentModifierMask"/> +                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo"> +                        <items> +                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV"> +                                <connections> +                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/> +                                </connections> +                            </menuItem> +                            <menuItem title="Zoom" id="R4o-n2-Eq4"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <connections> +                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/> +                                </connections> +                            </menuItem> +                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/> +                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ"> +                                <modifierMask key="keyEquivalentModifierMask"/> +                                <connections> +                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/> +                                </connections> +                            </menuItem> +                        </items> +                    </menu> +                </menuItem> +                <menuItem title="Help" id="EPT-qC-fAb"> +                    <modifierMask key="keyEquivalentModifierMask"/> +                    <menu key="submenu" title="Help" systemMenu="help" id="rJ0-wn-3NY"/> +                </menuItem> +            </items> +            <point key="canvasLocation" x="142" y="-258"/> +        </menu> +        <window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target"> +            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> +            <rect key="contentRect" x="335" y="390" width="800" height="600"/> +            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/> +            <view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ"> +                <rect key="frame" x="0.0" y="0.0" width="800" height="600"/> +                <autoresizingMask key="autoresizingMask"/> +            </view> +        </window> +    </objects> +</document> diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..720b002 --- /dev/null +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = badge + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = de.uvok.badge + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2025 de.uvok. All rights reserved. diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> +	<key>com.apple.security.app-sandbox</key> +	<true/> +	<key>com.apple.security.cs.allow-jit</key> +	<true/> +	<key>com.apple.security.network.server</key> +	<true/> +</dict> +</plist> diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/macos/Runner/Info.plist @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> +	<key>CFBundleDevelopmentRegion</key> +	<string>$(DEVELOPMENT_LANGUAGE)</string> +	<key>CFBundleExecutable</key> +	<string>$(EXECUTABLE_NAME)</string> +	<key>CFBundleIconFile</key> +	<string></string> +	<key>CFBundleIdentifier</key> +	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> +	<key>CFBundleInfoDictionaryVersion</key> +	<string>6.0</string> +	<key>CFBundleName</key> +	<string>$(PRODUCT_NAME)</string> +	<key>CFBundlePackageType</key> +	<string>APPL</string> +	<key>CFBundleShortVersionString</key> +	<string>$(FLUTTER_BUILD_NAME)</string> +	<key>CFBundleVersion</key> +	<string>$(FLUTTER_BUILD_NUMBER)</string> +	<key>LSMinimumSystemVersion</key> +	<string>$(MACOSX_DEPLOYMENT_TARGET)</string> +	<key>NSHumanReadableCopyright</key> +	<string>$(PRODUCT_COPYRIGHT)</string> +	<key>NSMainNibFile</key> +	<string>MainMenu</string> +	<key>NSPrincipalClass</key> +	<string>NSApplication</string> +</dict> +</plist> diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { +  override func awakeFromNib() { +    let flutterViewController = FlutterViewController() +    let windowFrame = self.frame +    self.contentViewController = flutterViewController +    self.setFrame(windowFrame, display: true) + +    RegisterGeneratedPlugins(registry: flutterViewController) + +    super.awakeFromNib() +  } +} diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> +	<key>com.apple.security.app-sandbox</key> +	<true/> +</dict> +</plist> | 
