-
Notifications
You must be signed in to change notification settings - Fork 4
Include iOS
Prerequisites | |
---|---|
Target iOS | 13.0 |
Xcode | 15.3+ |
Note
When changing the included adapter set, you will also need to delete the Project/Binaries/IOS
folder to reset the cache of previous application builds
iOS dependencies are identified using CocoaPods.
Make sure that CocoaPods is installed called terminal command:
pod --version
Install if not found command to Homebrew:
brew install cocoapods
Or RubyGems:
sudo gem install cocoapods
The CAS plugin will automatically integrate third-party frameworks and resource bundles from the CocoaPods repository for the selected ad networks in the CAS Config window before packaging the application.
Building with bitcode is no longer supported. Apple deprecated Bitcode in Xcode 14.
You should disable Bitcode by navigating to Edit > Project Settings > Platforms > iOS
section.
Note
Starting from version 5.2, Unreal Engine no longer utilizes Bitcode in iOS builds.
SKAdNetwork is a privacy safe method provided by Apple for ad networks to track installs. Up until iOS 14, most ad network campaign attribution has been based on a user's IDFA, but on iOS 14 and beyond, IDFAs will be less usable as a way to attribute which users have installed based on which ads they have interacted with.
The CAS Unreal Plugin automatically updates your app’s Info.plist
with network-specific identifiers.
Sometimes when multiple different plugins are used in a project, they may utilize the same frameworks. Each plugin will package its own version of frameworks, which can lead to issues during code linking. You will need to decide which frameworks should remain in the package and which ones need to be excluded.
To exclude frameworks required for the CAS Plugin, utilize the Config/DefaultEngine.ini
file in your project. Add the following lines to the file with the names of the frameworks that need to be excluded from the package.
[CASPluginBuildConfig]
+ExcludeFrameworks="Framework1NameWitoutExtension"
+ExcludeFrameworks="Framework2NameWitoutExtension"
Note
Be cautious, although you can exclude frameworks from the package, the package will not build if the referenced code is not found.
The Clang 15 update introduced some compilation flags. You need to disable these new flags to ensure that Unreal Engine 4 code remains compatible and compiles without errors.
Open the files of your project Source/ProjectName.Target.cs
and Source/ProjectNameEditor.Target.cs
and add the following lines to the constructor of the class.
if (Target.Platform == UnrealTargetPlatform.Mac || Target.Platform == UnrealTargetPlatform.IOS)
{
bOverrideBuildEnvironment = true;
// Xcode 15
AdditionalCompilerArguments += " -Wno-deprecated-builtins";
AdditionalCompilerArguments += " -Wno-error=single-bit-bitfield-constant-conversion";
// Xcode 14
AdditionalCompilerArguments += " -Wno-error=bitwise-instead-of-logical";
AdditionalCompilerArguments += " -Wno-error=deprecated-declarations";
AdditionalCompilerArguments += " -Wno-error=unqualified-std-cast-call";
AdditionalCompilerArguments += " -Wno-error=unused-but-set-variable";
}
🔗 Done! What’s Next?
- Read about compliance with the Apple Kids Category.
- Make sure you are Include Android platform as well.
- Project Setup
- Configuring SDK
- Include Android
- Include iOS
- Additional mediation steps
- FAQ
- App-ads.txt🔗