Skip to content

Info.plist variables bound to Library Values export as null despite defaults #7104

@sgardoll

Description

@sgardoll

Bug report

Info.plist variables bound to FlutterFlow Library Values export as null even when both the Library Value and the Info.plist variable dialog show default values.

Repro

  1. In a FlutterFlow library, create Library Value:
    • adMobIosAppId = ca-app-pub-3940256099942544~1458002511
  2. Open iOS Info.plist settings.
  3. Add or edit a variable named ADMOB-IOS-APP-ID.
  4. Bind that variable value to the Library Value adMobIosAppId.
  5. Ensure the Library Value has a default on the Library Values screen.
  6. Ensure the Info.plist variable dialog also shows the same default value.
  7. Use it in Info.plist:
    <key>GADApplicationIdentifier</key>
    <string>{{ADMOB-IOS-APP-ID}}</string>
  8. Export/generated code.

Expected

The generated iOS Info.plist should contain:

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>

Actual

The generated iOS Info.plist contained:

<key>GADApplicationIdentifier</key>
<string>null</string>

This causes the Google Mobile Ads iOS SDK to crash on simulator launch with GADApplicationVerifyPublisherInitializedCorrectly / SIGABRT, because the native GADApplicationIdentifier is invalid before Dart runtime values can be read.

Workaround

Set the Info.plist variable ADMOB-IOS-APP-ID directly to the literal string ca-app-pub-3940256099942544~1458002511 instead of binding it to the Library Value. After doing that, export produced the correct generated plist value.

Notes

This suggests native plist variable resolution is not using Library Value defaults during codegen/export, even when the FlutterFlow UI displays a default value in both places.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions