如何在Flutter中获取捆绑包ID

Vit*_*esh 5 flutter

我使用以下方法获取应用程序名称和packageName,但是我需要iPhone用户的Bundle ID。我想分享应用程序链接。我在android中做到了,但在iphone中我需要绑定ID。

 Future<Null> _initPackageInfo() async {
        final PackageInfo info = await PackageInfo.fromPlatform();
        setState(() {
          _packageInfo = info;
          packageName = info.packageName;
          appName = info.appName;
          buildNumber = info.buildNumber;
        });
      }
Run Code Online (Sandbox Code Playgroud)

Sur*_*gch 17

要手动查找项目名称,可以在AndroidManifest.xml或Info.plist中查找。

安卓系统

在Android中,包名称在AndroidManifest中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">
Run Code Online (Sandbox Code Playgroud)

的iOS

在iOS中,包名称是Info.plist中的包标识符:

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
Run Code Online (Sandbox Code Playgroud)

Runner.xcodeproj / project.pbxproj中可以找到:

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
Run Code Online (Sandbox Code Playgroud)

也可以看看


Moh*_*ami 6

在 Flutter 项目的 iOS 部分,产品包标识符project.pbxproj位于路径中的文件中:

[your-flutter-project-dir]\ios\Runner.xcodeproj\project.pbxproj

并指定如下:

PRODUCT_BUNDLE_IDENTIFIER = com.app.flutter.example;
Run Code Online (Sandbox Code Playgroud)

请注意,此值与Android Package NameFlutter 项目中的值相同。


Kab*_*uda 0

使用get_version包。这是最简单的方法

安装:

 dependencies:
   get_version: any
Run Code Online (Sandbox Code Playgroud)

用法:

String projectAppID;
// Platform messages may fail, so we use a try/catch PlatformException.
try {
  projectAppID = await GetVersion.appID;
} on PlatformException {
  projectAppID = 'Failed to get app ID.';
}
Run Code Online (Sandbox Code Playgroud)

您可以将它用作任何您想要的内容中的字符串,例如文本小部件等...


小型应用程序中 get_version 的另一个摘录:

import 'package:get_version/get_version.dart';    
  class _MyAppState extends State<MyApp> {
  String _projectAppID = '';
  @override
  initState() {
    super.initState();
    initPlatformState();
  }    
  // Platform messages are asynchronous, so we initialize in an async method.
  initPlatformState() async {
    String projectAppID;
    try {
      projectAppID = await GetVersion.appID;
    } catch (e) {
      projectAppID = 'Failed to get app ID.';
    }
    setState(() {
      _projectAppID = projectAppID;
    });
  }
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: ListTile(
          leading: new Icon(Icons.info),
          title: const Text('App ID'),
          subtitle: new Text(_projectAppID),
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

输出 :

在此输入图像描述