- Makes use of the AppStoreConnect API, which requires a .p8 file to have been downloaded from Apple's Integrations tab
- Can check if the version already exists on TestFlight, and can (on a Mac) increment the verrsion of the .xcarchive to be a valid version
- Can wait until the upload has completed and set the WhatsNew field in the TF build, for automated testing notes
#rb josh.adams
[CL 35697510 by josh adams in ue5-main branch]
- Similarly if -archive and -archivedirectory ends with .xcarchive, then that is the name of the directory to archive to, instead of using Xcode's name
- Improved logging of xcarchive info
#rb zack.neyland
[CL 32836485 by josh adams in ue5-main branch]
- This needs .plist files to control the export/upload process, added some premade default ones in Engine/Build/Xcode
- Refactored some code for the Auth param stuff
#rb calvin.zheng
[CL 32817761 by josh adams in ue5-main branch]
* Set the no-encryption setting in the template Mac plist to make uploading to TestFlight/AppStore easier
* Fixed editor to not compile as universal when using -distribution, only the client should be universal
* Further improvements to stripping out nested .app's in a final .app (remove them from the staged directory helps)
* Changed how the Mac app name is displayed, since the .app name itself is shown in the Finder, unlike IOS where the CFBundleName is shown (the archived .app name in the .xcarchive is named by a project setting, falling back to the .uproject name if not set)
* Disabled the SignExecutables function on Modern because they attempt to sign the wrong .apps, and one is no longer (previously it was uselessly signing .apps, but now it throws an error due to changes for the third item in this list)
[CONSIDER5.3]
#rb calvin.zheng
#jira UE-197465
[CL 28619839 by josh adams in ue5-main branch]
* Missing ThinApp.sh
* Missing some quotes around a variable in GenerateUniversalDSYM.sh
* Correctly filter out the stub .app's and such when copying the Staged data directory into the .app
* Disabled the Mac's Sign To Run Locally option by default, as that causes Xcode's Validation/Upload to not have the team name embedded in it, causing a hassle while pushing up to AppStore/TestFlight
* Fixed the PRODUCT_NAME for BP projects
* Made CrashReportClient be a sandboxed app that inherits from parent
* Fix Hybrid apps to check all platforms before in the project generator, so that if a project needs a temp target for IOS (via a plugin)
* For hybrid projects, don't append Game to the end of the Game target names, as that is the default, and it makes for better named products
* Disabled the LoginFlow module from OnlineFramework plugin - this was causing issues with having CEF and EpicWebHelper embedded into a sandboxed .app, and LoginFlow isn't seemingly actually used by anything
#jira UE-196297,UE-196299,UE-196296,UE-196300,UE-196295
#rb adam.kinge
[CL 28463729 by josh adams in ue5-main branch]
- The in-process project generation was not able to get the .uproject location
- The making and using of the stub xcode projects were using UnrealGame target/scheme, not MyProjectGame (which Xcode makes since it can handle content-only uprojects)
- UnrealGame.app, when just compiling, has no uproject, so it now use the dummy codesigning I added for stub generation, so no projects settings are needed
#jira UE-192593
[CL 27035369 by josh adams in ue5-main branch]
- Added some logging to UseModernXcode so it is clear which mode is being used, and why
- Fixed stub creation in modern to use local dummy identity (no need for keychain unlocking), and moved files into Payload directory inside the stub
#jira UE-168571
#rb adam.kinge
[CL 26620618 by josh adams in ue5-main branch]
- Fixing the name of the .app when staging/deploying a BP IOS project with modern
- Uses a new AppleExports function to call MakeBinaryFilename, so we can use standardized name format for the BP .app
- Fixed which .app is archived for BP projects (it was archiving the UnrealGame.app, not the finalized MyProject.app)
- Programs now no longer use Game/Client entitlements, but can set bUseEntitlementsForPrograms to true in the .ini if really needed
- Added an Unrestricted.entitlements, an empty entitlements file
- Changed Programs to find the .ini for codesigning, without needing a .uproject
- Fixed path to strip to add a missing slash
- Pass -legacyxcode along to the legacy PostBuildSync step to make sure it uses legacy when overriding the .ini setting
- Added -legacyxcode commandline handler for legacy PostbuildSync
#jira UE-190517
#jira UE-189830
#rb various
[CL 26592756 by josh adams in ue5-main branch]
- Uses a new AppleExports function to call MakeBinaryFilename, so we can use standardized name format for the BP .app
#jira UE-189830
#rb calvin.zheng
[CL 26352457 by Josh Adams in ue5-main branch]
- Added a top-level .xcconfig file to Xcode workspace for use with UnrealGame/etc so it knows where to find staged data, and set the commandline automatically
- Stage the UECommandLine.txt file for modern builds because we no longer make the Bootstrap .app
- Added XcodeBuildMode enum/string so scripts can tell when the project is being built (so build time could act differently than stage time, etc)
- Making use of the enum and other env vars to skip steps when not needed
- Other fixes for project generation
- Added -modernxcode and -legacyxcode comandline options which will override the .ini setting (refactored all UseModern checks into one function)
- Support for programs that have a .uproject, and GPF with -game -project=<program.uproject>
- Added success return value to FinalizeAppWithModernXcode
- Added quotes to fix paths with spaces in GenerateProjectFiles.command
- Enabled parallel AddAdditionalNativeTargetInformation for gathering Frameworks from targts, now that parallel project generation has been enabled and most parallel issues are fixed
#preflight 646ce67c2e78be98411323d9
#rb zack.neyland
#preflight 646f8f2850786bb5ba8a98f0
[CL 25623979 by Josh Adams in ue5-main branch]