By [Link Removed], user can disable IDFA without customizing engine code. But, if using Launcher build, the added settings( Enable Advertising Identified(IFFA) ) does NOT work correctly. Because engine code does not be compiled when using Launcher build. In other words, Change of project settings is not reflected to ENABLE_ADVERTISING_IDENTIFER
IOSPlatformMisc.cpp
FString FIOSPlatformMisc::GetUniqueAdvertisingId()
{
#if !PLATFORM_TVOS && ENABLE_ADVERTISING_IDENTIFIER
// Check to see if this OS has this function
if ([[ASIdentifierManager sharedManager] respondsToSelector:@selector(advertisingIdentifier)])
{
NSString* IdfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
FString IDFA(IdfaString);
return IDFA;
}
#endif
return FString();
}
UEBuildIOS.cs if (ProjectSettings.bEnableAdvertisingIdentifier) { CompileEnvironment.Definitions.Add("ENABLE_ADVERTISING_IDENTIFIER=1"); }
As written on [Link Removed], We should move this function to engine plugin for Launcher build.
or open attached project and do 3~6
expect : display nothing
result : display IDFA
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-76414 in the post.
| 4 |
| Component | UE - Platform - Mobile |
|---|---|
| Affects Versions | 4.22 |
| Created | Jun 18, 2019 |
|---|---|
| Resolved | Aug 27, 2021 |
| Updated | Aug 27, 2021 |