Files
UnrealEngineUWP/Engine/Source/Runtime/IOS/IOSPlatformFeatures/IOSPlatformFeatures.Build.cs
Sorin Gradinaru e8a409bd95 SaveGame using iCloud for iOS and tvOS
UE-52763 tvOS/iOS: Allow save games to save to iCloud
UE-52346 TM-Gameplay: Load Level Volume Fails to Read TestSlot.sav file
UE-64066 TM-Gameplay Load Game does not work on TVOS

#jira UE-52763
#jira UE-52346
#jira UE-64066
#iOS
#4.22
#rb Jack.Porter

Adapted the Online iCloud plugin to work without enabling the Game Center plugin (using empty UniqueNetId as a parameter for FOnlineUserCloudInterfaceIOS methods and callbacks)

At plugin init, the data from the iCloud will overwrite the local storage.

Replaced saveRecord with CKModifyRecordsOperation to avoid errors on existing iCloud records - using savePolicy = CKRecordSaveAllKeys to overwrite the previously uploaded save file

Entitlements:
Fixed the problem with writing the iCloud lines in UE4Game.entitlements : The flag from DefaultEngine.ini was overwritten by IOSEngine.ini (same section & key). Same issue with the Game Center flag

Signing:
It looks like there is a problem (since Xcode 6/iOS8, when Apple has changed the format for the iCloud entitlements, in order to support CloudKit) with the Entitlements section from the provisioning file (downloaded from Apple Developper) <key>com.apple.developer.icloud-services</key> contains "*" instead of the  CloudKit and CloudDocuments entries. Fixed it, otherwise the app won't appear in the iPhone's Settings->iCloud apps menu

[CL 4760235 by Sorin Gradinaru in Dev-Mobile branch]
2019-01-21 03:57:26 -05:00

16 lines
308 B
C#

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
public class IOSPlatformFeatures : ModuleRules
{
public IOSPlatformFeatures(ReadOnlyTargetRules Target) : base(Target)
{
PrivateDependencyModuleNames.AddRange(new string[]
{
"Core",
"Engine"
});
}
}