Add app version and ui orientation settings to iOS

This commit is contained in:
Wojtek Figat
2023-06-10 12:43:10 +02:00
parent ea4f97aad8
commit 5e07a42417
2 changed files with 56 additions and 4 deletions

View File

@@ -19,8 +19,6 @@
#include "Editor/ProjectInfo.h"
#include "Editor/Cooker/GameCooker.h"
#include "Editor/Utilities/EditorUtilities.h"
#include <ThirdParty/pugixml/pugixml.hpp>
using namespace pugi;
IMPLEMENT_SETTINGS_GETTER(iOSPlatformSettings, iOSPlatform);
@@ -35,6 +33,21 @@ namespace
productName.Replace(TEXT("-"), TEXT(""));
return productName;
}
String GetUIInterfaceOrientation(iOSPlatformSettings::UIInterfaceOrientations orientations)
{
String result;
if (EnumHasAnyFlags(orientations, iOSPlatformSettings::UIInterfaceOrientations::Portrait))
result += TEXT("UIInterfaceOrientationPortrait ");
if (EnumHasAnyFlags(orientations, iOSPlatformSettings::UIInterfaceOrientations::PortraitUpsideDown))
result += TEXT("UIInterfaceOrientationPortraitUpsideDown ");
if (EnumHasAnyFlags(orientations, iOSPlatformSettings::UIInterfaceOrientations::LandscapeLeft))
result += TEXT("UIInterfaceOrientationLandscapeLeft ");
if (EnumHasAnyFlags(orientations, iOSPlatformSettings::UIInterfaceOrientations::LandscapeRight))
result += TEXT("UIInterfaceOrientationLandscapeRight ");
result = result.TrimTrailing();
return result;
}
}
const Char* iOSPlatformTools::GetDisplayName() const
@@ -179,11 +192,12 @@ bool iOSPlatformTools::OnPostProcess(CookingData& data)
configReplaceMap[TEXT("${AppName}")] = appName;
configReplaceMap[TEXT("${AppIdentifier}")] = appIdentifier;
configReplaceMap[TEXT("${AppTeamId}")] = platformSettings->AppTeamId;
configReplaceMap[TEXT("${AppVersion}")] = TEXT("1"); // TODO: expose to iOS platform settings (matches CURRENT_PROJECT_VERSION in XCode)
configReplaceMap[TEXT("${AppVersion}")] = platformSettings->AppVersion;
configReplaceMap[TEXT("${ProjectName}")] = gameSettings->ProductName;
configReplaceMap[TEXT("${ProjectVersion}")] = projectVersion;
configReplaceMap[TEXT("${HeaderSearchPaths}")] = Globals::StartupFolder;
// TODO: screen rotation settings in XCode project from iOS Platform Settings
configReplaceMap[TEXT("${UISupportedInterfaceOrientations_iPhone}")] = GetUIInterfaceOrientation(platformSettings->SupportedInterfaceOrientationsiPhone);
configReplaceMap[TEXT("${UISupportedInterfaceOrientations_iPad}")] = GetUIInterfaceOrientation(platformSettings->SupportedInterfaceOrientationsiPad);
{
// Initialize auto-generated areas as empty
configReplaceMap[TEXT("${PBXBuildFile}")] = String::Empty;