如何从 Flutter 应用程序访问 AppDelegate.m 中的 .env 变量?

Jon*_*las 4 dart flutter

按照类似问题的指示在 Flutter 应用程序中从源代码控制中隐藏 Google 地图 API 密钥

AppDelegate.m

#include "AppDelegate.h"
#include "GeneratedPluginRegistrant.h"
#import "GoogleMaps/GoogleMaps.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     NSString* mapsApiKey = [[NSProcessInfo processInfo] environment][@"FLUTTER_GMAPS_API_KEY"];
  [GMSServices provideAPIKey: mapsApiKey];
  [GeneratedPluginRegistrant registerWithRegistry:self];
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

@end
Run Code Online (Sandbox Code Playgroud)

如果我将 ProvideApiKey 更改为 @"theApiKeyImTryingToHide" 一切正常。

kuk*_*uka 8

我通过搜索react-native lib的答案发现了这个问题,也许对于某人来说它可能有用。

因此,要从 RN 中的 env 读取变量,您必须添加

NSString *mapsApiKey = [ReactNativeConfig envFor:@"GOOGLE_MAPS_API_KEY"];
[GMSServices provideAPIKey: mapsApiKey];
Run Code Online (Sandbox Code Playgroud)

进入AppDelegate.mdidFinishLaunchingWithOptions文件中方法的顶部,首先不要忘记导入

#import "ReactNativeConfig.h"

ReactNativeConfig提供GOOGLE_MAPS_API_KEY


归档时间:

查看次数:

3312 次

最近记录:

4 年,3 月 前