151 Commits

Author SHA1 Message Date
calvin zheng
1c23dcf08a Fixing multiple blocking modern xcode issues
#jira UE-198617
#rb Josh.Adams

[CL 29089493 by calvin zheng in 5.3 branch]
2023-10-25 11:11:04 -04:00
Josh Adams
eb3569c187 - Fixed various blocking issues with making Mac/IOS builds that can be uploaded to AppStore in Xcode
* 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)
  * 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
  * 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)
  * Legacy Xcode mode is forced with Window's Remote Mac builds, so use the old legacy code when running under windows
  * Added a third party .cpp file to get copied to remote macs
  * Fix Tools -> Open Xcode not working with modern Xcode

#jira UE-197465

[CL 28723100 by Josh Adams in 5.3 branch]
2023-10-12 15:15:43 -04:00
Josh Adams
2dafa030de - Fix a problem with BundleResources not being copied in to Mac and IOS .app bundles (plugin author reported - this is a feature Epic has not used)
#rb calvin.zheng
#jira UE-195538

[CL 27974501 by Josh Adams in 5.3 branch]
2023-09-18 17:01:19 -04:00
adam kinge
d47667bc95 Fix tvOS missing LaunchScreen causing a crash on startup.
#jira UE-192454
#rnx
#rb josh.adams
#lockdown zack.neyland

[CL 27130414 by adam kinge in 5.3 branch]
2023-08-15 21:36:10 -04:00
Josh Adams
b94b0ba4ad - Removed the quotes around the signing identity for Xcode manual codesigning
- During staging, we now make the UBTGenerated/Info.Template.plist in the project folder instead of Engine folder, for BP projects
- Fixed an AppStoreConnect label in the Xcode project settings that would have confused anyone trying to set it up

#jira UE-193101, UE-193108, UE-193104
#rb Calvin.zheng

[CL 27130143 by Josh Adams in 5.3 branch]
2023-08-15 21:28:55 -04:00
adam kinge
a8ea86e455 Fix missing launch image on iOS. Also fix AppIcon inverted logic for iOS.
#jira UE-192454
#rnx
#rb josh.adams
#lockdown zack.neyland

[CL 27122160 by adam kinge in 5.3 branch]
2023-08-15 17:42:28 -04:00
Josh Adams
257a615adb - Changed the logic for Programs to allow for Resources to exist in Engine/Source/Programs/Foo/Resources/Mac (which was an existing place to put Mac resources) instead of Engine/Programs/Foo/Build/Mac. WIll be used in an upcoming changelist for some icons and plist fixes for UnrealInsigits and UnrealMultiUserServer. This will also be helpful for licensees that have icons in the old location
- Allow extra .apps to be staged into the final .app (like CrashReportClient.app)

#jira UE-192894,UE-192906
#rb zack.neyland

[CL 27111466 by Josh Adams in 5.3 branch]
2023-08-15 14:06:57 -04:00
axel riffard
3301210539 tvOS app icon fix for modern xcode
#jira UE-192009
#rb josh.adams

[CL 27107381 by axel riffard in 5.3 branch]
2023-08-15 12:47:37 -04:00
adam kinge
11980dc023 Required Metal shader compiler changes to support iOS Simulator. Set to disabled by default via "bEnableSimulatorSupport" in IOSRuntimeSettings.
#jira UE-168571
#rnx
#rb carl.lloyd, jack.porter
#lockdown jack.porter

[CL 27022417 by adam kinge in 5.3 branch]
2023-08-11 00:53:13 -04:00
Josh Adams
a48d7ea0fe - Fixed making .apps using a StagingDirectory override with code-based projects
#jira UE-189819, UE-189368
#rb trivial

[CL 26847789 by Josh Adams in 5.3 branch]
2023-08-04 11:24:50 -04:00
Josh Adams
37ad814262 - Changed how .dylibs in the Contents/MacOS directory are copied into Mac .apps (done directly instead of needing to be staged first)
#jira UE-191538
#rb calvin.zheng

[CL 26832183 by Josh Adams in 5.3 branch]
2023-08-03 18:51:52 -04:00
adam kinge
30712598ea Temporarily disable ios simulator root due to Horde issue.
#jira UE-168571
#rnx

[CL 26598675 by adam kinge in 5.3 branch]
2023-07-26 02:06:38 -04:00
adam kinge
504c5cb247 Additional UBT changes to support iOS Simulator:
- update Xcode build script to set correct arch when compiling within Xcode
 - set correct SDKRoot depending on sim vs device

#jira UE-168571

[CL 26597655 by adam kinge in 5.3 branch]
2023-07-26 00:59:42 -04:00
josh adams
275cb69b2f Brought changes over from UE5/Main
- 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 26592555 by josh adams in 5.3 branch]
2023-07-25 18:39:53 -04:00
calvin zheng
f99e44009b - Handle manual codesigning with Modern Xcode (using all new settings, does not use the "green check" provisions in IOS project settings)
- Added support for AppStoreConnect API for automatic code signing (with command line builds, packaging from editor, etc) that doesn't need everyone to be signed in to Xcode (still need to sign in if using Xcode IDE to build/run)
- Fixed Modern to always create the IOS plist in UBT ApplePostBuild step
- Updated a bunch of ini setting names to remove Modern, given Modern will be standard in the future
- Added some settings XcodeProject settings in the editor, and updated some tooltips/category names
- Moved some functions around to clean up
- Added some debug code to catch errors

#rb adam.kinge,calvin.zheng,zack.neyland

#ushell-cherrypick of 26133818 by Josh.Adams

[CL 26152365 by calvin zheng in 5.3 branch]
2023-06-21 12:07:08 -04:00
adam kinge
5a219beeb3 Support iPad SplitView (dynamic resizing) and StageManager
#jira UE-168563
#rb jack.porter

[CL 26057533 by adam kinge in 5.3 branch]
2023-06-16 12:41:13 -04:00
Rafa Lecina
9f1574f2ad Fix folder issues in Xcode for programs not under Engine folder
Also force being a bundled application for iOS and TVOS since they don't support not being bundled

#review @Josh.Adams
#jira UE-166445

[CL 25973014 by Rafa Lecina in ue5-main branch]
2023-06-14 03:54:47 -04:00
calvin zheng
7f1888d75b Partial fix for modern Xcode would build with no code change
Remove outdated xcworkspace files when GPF with new modernXcode settings

#rb Josh.Adams, Zack.Neyland

[CL 25933128 by calvin zheng in ue5-main branch]
2023-06-12 14:56:21 -04:00
josh adams
9483bd40f5 - Fixed ModernXcode when a program has a ExeBinariesSubFolder
#rb trivial

[CL 25893367 by josh adams in ue5-main branch]
2023-06-09 10:41:06 -04:00
joe kirchoff
acacd6a8de UnrealBuildTool: More automated code cleanup
* Use object type rather than var
* Remove double newlines
* Use pattern matching

#rnx
#preflight 647780095d23eca37d28a387

[CL 25706751 by joe kirchoff in ue5-main branch]
2023-05-31 13:37:21 -04:00
joe kirchoff
acf80ab609 [Backout] - CL25694851
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup

#rnx

[CL 25695155 by joe kirchoff in ue5-main branch]
2023-05-30 19:55:37 -04:00
joe kirchoff
7ed1a39679 UnrealBuildTool: More automated code cleanup
#rnx

[CL 25694864 by joe kirchoff in ue5-main branch]
2023-05-30 19:36:05 -04:00
joe kirchoff
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
Josh Adams
b770627288 - FIxed the --delete mode in rsync to not delete extra files when staging in Modern xcode
#rb adam.kinge (tested)
#preflight 64711ae3c109725039db5692

[CL 25652919 by Josh Adams in ue5-main branch]
2023-05-26 17:18:47 -04:00