Upgrade to V1.18
The SDK 1.18 has been upgraded to support purporse strings when requesting sensitive permissions, in line with iOS permissions requirements. Now, when permissions are requested, the system informs the user of the purpose of the request. Additionally, this update has streamlined the iOS information property list file within the INTLConfig plugin for Unreal Engine, simplifying the configuration process.
For a full list of updates, see the V1.18 Release Note.
What's the impact
Games that request access to protected resources without providing purpose strings will not pass Apple's App Review. Therefore, for games trying to release on the iOS platform, upgrading to this version of the SDK is necessary. This will allow them to add the purpose strings for sensitive permissions requested by the SDK.
What's changing
- Unity
- Unreal Engine
The following keys are added to for purpose strings:
The following keys are added to for purpose strings:
NSPhotoLibraryUsageDescription
NSCameraUsageDescription
NSLocationWhenInUseUsageDescription
NSPhotoLibraryAddUsageDescription
NSMicrophoneUsageDescription
NSUserTrackingUsageDescription
The iOS information property list files are now placed in the INTLSDK/Source/INTLConfig/Configs/iOS/Plist
directory. Each INTL{Plugin}.plist
serves as the Info.plist
configuration document for its respective Player Network SDK plugin for iOS. Games should modify the values in these files to accurately reflect their specific configurations.
Action required
Before modifying the default purpose strings, ensure to consult with the legal team to verify that the contents remain compliant. If the default purpose strings accurately explain the games' purposes for accessing sensitive information, simply replace INTLSample with the appropriate game name.
- Unity
- Unreal Engine
In
Assets/INTLSDK/Editor/XUPorter/Mods~/INTLCoreKit.projmods
, modify the values of the following keys to reflect the actual purpose strings, or simply replace INTLSample with the appropriate game name."NSPhotoLibraryUsageDescription"
"NSCameraUsageDescription"
"NSLocationWhenInUseUsageDescription"
"NSPhotoLibraryAddUsageDescription"
"NSMicrophoneUsageDescription"In
Assets/INTLSDK/Editor/XUPorter/Mods~/INTLADTrackingKit.projmods
, modify the values of the following keys to reflect the actual purpose strings, or simply replace INTLSample with the appropriate game name."NSUserTrackingUsageDescription"
In
Plugins/INTLSDK/Source/INTLConfig/Configs/iOS/Plist/INTLCore.plist
, modify the values of the following keys to reflect the actual purpose strings, or simply replace INTLSample with the appropriate game name.<key>NSPhotoLibraryUsageDescription</key>
<key>NSCameraUsageDescription</key>
<key>NSLocationWhenInUseUsageDescription</key>
<key>NSPhotoLibraryAddUsageDescription</key>
<key>NSMicrophoneUsageDescription</key>In
Plugins/INTLSDK/Source/INTLConfig/Configs/iOS/Plist/INTLADTracking.plist
, modify the values of the following keys to reflect the actual purpose strings, or simply replace INTLSample with the appropriate game name.<key>NSUserTrackingUsageDescription</key>
Navigate to Unreal Engine > Settings > Project Settings > Platforms > iOS > Extra Plist Data and copy/save the information property list configurations.
In the
INTL{Plugin}.plist
file located under theINTLSDK/Source/INTLConfig/Configs/iOS/Plist
directory, replace the{placeholder}
configurations with the configurations saved in the previous step.The following image provides an example of
INTLFacebook.plist
where the values in curly braces are placeholders that need to be replaced with actual configurations. Add eachINTL{Plugin}.plist
file so that the SDK script can automatically merge all information property list configurations.
What you must know
Pending content