CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName {{ cookiecutter.product_name }} CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName {{ cookiecutter.project_name }} CFBundlePackageType APPL CFBundleShortVersionString $(FLUTTER_BUILD_NAME) CFBundleSignature ???? CFBundleVersion $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS UILaunchStoryboardName LaunchScreen UIMainStoryboardFile Main UISupportedInterfaceOrientations UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents NSAppTransportSecurity NSAllowsArbitraryLoads FlutterDeepLinkingEnabled CFBundleURLTypes CFBundleTypeRole Editor CFBundleURLName {{ cookiecutter.options.deep_linking.host }} CFBundleURLSchemes {{ cookiecutter.options.deep_linking.scheme }} {% macro render_dict(d) -%} {% for key, value in d.items() -%} {{ key }} {% if value is string -%} {{ value }} {% elif value is boolean -%} <{{ "true" if value else "false" }}/> {% elif value is mapping -%} {{ render_dict(value) }} {% elif value is sequence -%} {# Support for lists/arrays #} {% for item in value -%} {% if item is string -%} {{ item }} {% elif item is boolean -%} <{{ "true" if item else "false" }}/> {% elif item is mapping -%} {{ render_dict(item) }} {% endif -%} {% endfor -%} {% endif -%} {% endfor -%} {% endmacro -%} {{ render_dict(cookiecutter.options.info_plist) }}