bGeneratedSYMFile
bGeneratedSYMFile
#Overview
name: bGeneratedSYMFile
The value of this variable can be defined or overridden in .ini config files. 1
.ini config file referencing this setting variable.
It is referenced in 3
C++ source files. Also referenced in 1
C# build file meaning it may affect the build system logic.
#Summary
#Usage in the C++ source code
The purpose of bGeneratedSYMFile is to control the generation of dSYM (debug symbols) files for iOS builds in Unreal Engine 5. This setting is primarily related to the build and debugging process for iOS applications.
This setting variable is primarily used by the iOS-specific modules of Unreal Engine, specifically:
- The IOSTargetPlatform module, which handles platform-specific functionality for iOS builds.
- The IOSRuntimeSettings module, which manages runtime settings for iOS applications.
The value of this variable is set in the IOSRuntimeSettings class, which is defined in the IOSRuntimeSettings.h file. It is initialized to false by default in the constructor of the UIOSRuntimeSettings class in IOSRuntimeSettings.cpp.
This variable interacts closely with other iOS-specific build settings, particularly:
- bGeneratedSYMBundle: Controls the generation of dSYM bundles for third-party crash tools.
- bGenerateXCArchive: Manages the generation of XCArchive files.
Developers should be aware of the following when using this variable:
- Setting bGeneratedSYMFile to true enables the generation of dSYM files, which are crucial for code debugging and profiling on iOS devices.
- The dSYM files can significantly increase the build time and output size, so it should be enabled only when necessary for debugging or crash analysis.
- This setting is exposed in the project settings under the iOS platform section, allowing easy configuration through the Unreal Engine editor.
Best practices when using this variable include:
- Enable bGeneratedSYMFile for debug builds and when you need to analyze crashes or profile your application.
- Disable it for release builds to reduce build time and output size, unless you need crash reporting capabilities in your released app.
- When enabling bGeneratedSYMFile, consider also enabling bGeneratedSYMBundle if you’re using third-party crash reporting tools.
- Always ensure that your build settings align with your development and deployment requirements, balancing between debugging capabilities and build efficiency.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:2994, section: [/Script/IOSRuntimeSettings.IOSRuntimeSettings]
- INI Section:
/Script/IOSRuntimeSettings.IOSRuntimeSettings
- Raw value:
False
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/IOS/IOSTargetPlatform/Private/IOSTargetPlatform.h:93
Scope (from outer to inner):
file
class class FIOSTargetPlatform : public TNonDesktopTargetPlatformBase<FIOSPlatformProperties>
function virtual void GetBuildProjectSettingKeys
Source code excerpt:
{
OutSection = TEXT("/Script/IOSRuntimeSettings.IOSRuntimeSettings");
InBoolKeys.Add(TEXT("bGeneratedSYMFile"));
InBoolKeys.Add(TEXT("bGeneratedSYMBundle"));
InBoolKeys.Add(TEXT("bGenerateXCArchive"));
if (bIsTVOS)
{
InStringKeys.Add(TEXT("MinimumTVOSVersion"));
}
#Loc: <Workspace>/Engine/Source/Runtime/IOS/IOSRuntimeSettings/Classes/IOSRuntimeSettings.h:228
Scope (from outer to inner):
file
class class UIOSRuntimeSettings : public UObject
Source code excerpt:
// Enable generation of dSYM file
UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Generate dSYMs for code debugging and profiling"))
bool bGeneratedSYMFile;
// Enable generation of dSYM bundle
UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Generate dSYMs as a bundle for third party crash tools"), meta = (EditCondition = "bGeneratedSYMFile"))
bool bGeneratedSYMBundle;
// Enable generation of a .udebugsymbols file, which allows offline, platform-independent symbolication for the Malloc Profiler or external crash reporting tools. Requires a dSYM file or bundle.
#Loc: <Workspace>/Engine/Source/Runtime/IOS/IOSRuntimeSettings/Private/IOSRuntimeSettings.cpp:43
Scope (from outer to inner):
file
function UIOSRuntimeSettings::UIOSRuntimeSettings
Source code excerpt:
MinimumiOSVersion = EIOSVersion::IOS_Minimum;
bBuildAsFramework = true;
bGeneratedSYMFile = false;
bGeneratedSYMBundle = false;
bGenerateXCArchive = false;
bSupportSecondaryMac = false;
bUseRSync = true;
bCustomLaunchscreenStoryboard = false;
AdditionalPlistData = TEXT("");
#References in C# build files
This variable is referenced in the following C# build files:
Location: <Workspace>/Engine/Source/Programs/UnrealBuildTool/Platform/IOS/UEBuildIOS.cs:228
/// Whether to generate a dSYM file or not.
/// </summary>
[ConfigFile(ConfigHierarchyType.Engine, "/Script/IOSRuntimeSettings.IOSRuntimeSettings", "bGeneratedSYMFile")]
[CommandLine("-generatedsymfile")]
public readonly bool bGeneratedSYMFile = false;
/// <summary>
/// Whether to generate a dSYM bundle (as opposed to single file dSYM)
/// </summary>