Fir*_*rus 1 xcode build dart flutter
我在名为“keys.json”的文件中设置了一些环境变量,并使用--dart-define-from-file来加载它们。
flutter run --dart-define-from-file=keys.json
Run Code Online (Sandbox Code Playgroud)
通过命令行它可以正常工作,但是使用 Xcode 时又如何呢?
如何设置--dart-define-from-file变量以便我可以在 Xcode 中运行和构建项目?
.xcworkspace当您使用Debug或配置运行应用程序时,Xcode 将自动获取这些值Release。只需确保flutter build ios --<debug/release> --dart-define-from-file <your_file.json>在从 Xcode 运行应用程序之前运行即可。
对于那些对其工作原理感兴趣的人:
flutter build将重新生成 Xcode 内部使用的配置文件:Debug.xcconfig、Release.xcconfig和Generated.xcconfig. 默认情况下,Xcode 将使用调试配置,但您可以通过在 Xcode 中编辑方案来更改它。
如果你看一下内容Debug.xcconfig
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
Run Code Online (Sandbox Code Playgroud)
你会注意到,它引用了Generated.xcconfig. 在这个配置文件中的某个地方,您会发现构建变量DART_DEFINES被设置为一些乱码。
[...]
DART_DEFINES=YT0x,Yj0y,YT0x,Yj0y
[...]
Run Code Online (Sandbox Code Playgroud)
这只不过是简单配置文件的 base64 编码版本
{
"a": 1,
"b": 2,
}
Run Code Online (Sandbox Code Playgroud)
这个 base64 编码的值被注入到您的应用程序中,并由 flutter 运行时解码,准备在您的应用程序中使用。
截至2023年11月27日,flutter社区正在持续讨论是否应该改变甚至完全删除上述行为。请参阅 GitHub 问题#138793,了解有关此主题的更多最新信息。
| 归档时间: |
|
| 查看次数: |
543 次 |
| 最近记录: |