| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #import "FLTPackageInfoPlugin.h" |
| |
| @implementation FLTPackageInfoPlugin |
| + (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar { |
| FlutterMethodChannel* channel = |
| [FlutterMethodChannel methodChannelWithName:@"plugins.flutter.io/package_info" |
| binaryMessenger:[registrar messenger]]; |
| FLTPackageInfoPlugin* instance = [[FLTPackageInfoPlugin alloc] init]; |
| [registrar addMethodCallDelegate:instance channel:channel]; |
| } |
| |
| - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { |
| if ([call.method isEqualToString:@"getAll"]) { |
| result(@{ |
| @"appName" : [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"] |
| ?: [NSNull null], |
| @"packageName" : [[NSBundle mainBundle] bundleIdentifier] ?: [NSNull null], |
| @"version" : [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] |
| ?: [NSNull null], |
| @"buildNumber" : [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"] |
| ?: [NSNull null], |
| }); |
| } else { |
| result(FlutterMethodNotImplemented); |
| } |
| } |
| |
| @end |