#jira UE-72058
#tvOS
#4.22.1
#rb Jack.Porter
Manually integrated (robomerge errors) from CL5731997
When building on Mac, the packaging & signing rely on the entitlements file.
- the values should correspond to those in the entitlements (take into account syntax differences). Fixed problems related to icloud-container-identifiers, ubiquity-container-identifiers and com.apple.developer.icloud-services
- ICloudContainerIdentifier added to the tvOS plist (previously it was added on iOS)
- added com.apple.developer.icloud-container-environment to the entitlements file, needed when signing the package
- shipping build with CloudKit should also have the push notifications enabled
- fixed an issue with com.apple.developer.associated-domains when the value is a string, not an array
- addding CODE_SIGN_ENTITLEMENTS in the project file
[CL 5732468 by Sorin Gradinaru in Main branch]
#jira UE-72058
#4.22
#tvOS
#rb Peter.Sauerbrei
[FYI] Jack.Porter
#lockdown cristina.riveron
Two issues found and fixed:
- com.apple.developer.icloud-services should have CloudDocuments ONLY on iOS
- com.apple.developer.icloud-container-environment should by a string not an array (unlike in the mobile provisioning)
#ROBOMERGE-SOURCE: CL 5630800 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5710531 by sorin gradinaru in Main branch]
[FYI] peter.sauerbrei
#rb trivial
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5555983 via CL 5558841 via CL 5559453
[CL 5560614 by josh adams in Main branch]
#jira UE-66204
#4.22
#iOS
#rb Jack.Porter
#lockdown cristina.riveron
Fixed a problem with the order of values in the com.apple.developer.icloud-container-environment array
Also modified parsing com.apple.developer.ubiquity-container-identifiers and com.apple.developer.ubiquity-kvstore-identifier in order to preserve the team id from the mobileprovisioning
Note:iPhonePacvkager needs to be recompiled + binaries uploaded on //UE4/Release-4.22/Engine/Binaries/DotNET/IOS
#ROBOMERGE-SOURCE: CL 5533538 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5533539 by sorin gradinaru in Main branch]
#jira UE-66204
#iOS
#4.22
#rb Jack.Porter
For distribution builds, the entitlements have a modified syntax comparing to the entitlements section from the mobileprovisioning file.
When signing the ipa, the iPhonePackeger uses the values from the mobileprovisioning file.
Adding filters to validate the entitlements before sending them as parameter for the codesign tool.
#ROBOMERGE-SOURCE: CL 5348200 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5364755 by sorin gradinaru in Main branch]
- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024
[CL 5226277 by Josh Adams in Main branch]
#rb none
#jira UE-70509
[FYI] Peter.Sauerbrei
#ROBOMERGE-SOURCE: CL 5174514 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5207569 by ben marsh in Main branch]
UE-69887 - DeploymentServerLauncher.exe does not always quit
#jira UE-69280
#rb Jack.Porter
#ROBOMERGE-SOURCE: CL 5143595 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5207125 by cosmin sulea in Main branch]
#jira UE-68820
#4.2.2
#iOS
#rb Jack.Porter
Adding a check for existing iCloud keys in the provisioning profile, not to add an empty one by mistake
[CL 4770365 by Sorin Gradinaru in Dev-Mobile branch]
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]
* Overloaded meaning of the -Certificate argument (ie. as the output path rather than as the desired certificate when selecting a provision) was causing certificate name check to fail. Now uses a different parameter to specify the output path.
* TVOS argument was not being passed when exporting the certificate, also causing the wrong provision/certificate pair to be selected.
* Add support for the -bundlename argument, though it shouldn't be necessary when invoked from UBT since the UUID discovered in a previous invocation of IPP is explicitly specified.
Since the provision UUID is already being specified to IPP, it should be able to identify the correct provision on phase -1 using this info.
#rb none
#jira UE-63859
#codereview Peter.Sauerbrei
#lockdown Jack.Porter
[CL 4354338 by Ben Marsh in Dev-Mobile branch]