Commit Graph

160 Commits

Author SHA1 Message Date
josh adams
09672c36ad - Delete the staged dir inside a .app if the source staged dir is missing - this is so we don't use some stale dir insde the .app if the user wanted to delete it (mostly useful for Programs)
#rb adam.kinge, calvin.zheng

[CL 29755497 by josh adams in ue5-main branch]
2023-11-15 14:40:33 -05:00
calvin zheng
d460952917 Fix xcode would build UnrealLightmass for arm
#jira UE-199980
#rb Josh.Adams

[CL 29653439 by calvin zheng in ue5-main branch]
2023-11-10 15:43:34 -05:00
calvin zheng
8d6e633f99 Fixing multiple blocking modern xcode issues
#jira UE-198617
#rb Josh.Adams

[CL 29095687 by calvin zheng in ue5-main branch]
2023-10-25 14:06:59 -04:00
josh adams
d1ff7439a4 - Fixing product name in Xcode project for launching, not building/installing, when there is no ACTION
#rb zack.neyland

[CL 28645130 by josh adams in ue5-main branch]
2023-10-10 19:00:53 -04:00
josh adams
1abedddd2a - More fixes for Mac packaging/archiving issues
* 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]
2023-10-10 10:52:53 -04:00
josh adams
c2437d9b07 - Fixed various 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)
  * 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]
2023-10-04 13:25:29 -04:00
josh adams
f905f670fb - 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 27975320 by josh adams in ue5-main branch]
2023-09-18 17:12:52 -04:00
adam kinge
efb7b10e12 Fix tvOS missing LaunchScreen causing a crash on startup.
#jira UE-192454
#rnx
#rb josh.adams
#lockdown zack.neyland

[CL 27130552 by adam kinge in ue5-main branch]
2023-08-15 21:41:03 -04:00
josh adams
82ee4f70d5 - 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 27130271 by josh adams in ue5-main branch]
2023-08-15 21:33:02 -04:00
adam kinge
602131ca91 Fix missing launch image on iOS. Also fix AppIcon inverted logic for iOS.
#jira UE-192454
#rnx
#rb josh.adams
#lockdown zack.neyland

[CL 27122840 by adam kinge in ue5-main branch]
2023-08-15 17:54:41 -04:00
josh adams
0d157fcd25 - 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 27112834 by josh adams in ue5-main branch]
2023-08-15 14:32:01 -04:00
axel riffard
94ea3fdc49 tvOS app icon fix for modern xcode
#jira UE-192009
#rb josh.adams

[CL 27108352 by axel riffard in ue5-main branch]
2023-08-15 13:07:25 -04:00
adam kinge
06a3585301 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 27022463 by adam kinge in ue5-main branch]
2023-08-11 01:01:38 -04:00
josh adams
fafd488a40 - Fixed making .apps using a StagingDirectory override with code-based projects
#jira UE-189819, UE-189368
#rb trivial

[CL 26848281 by josh adams in ue5-main branch]
2023-08-04 11:34:16 -04:00
josh adams
65fbd954e5 - 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 26832937 by josh adams in ue5-main branch]
2023-08-03 19:21:32 -04:00
Josh Adams
574dc31ccb - Very very early support for UE running as a SwiftUI app:
- .ini settings for using SwiftUI main function
  - this will eanble #defines, etc, to enable some embedded style functionality in UE, where SwiftUI will trigger when to create the engine/view/etc
  - assume fully immersive mode, which uses CompositorServices to get drawables from SwiftUI land
  - Added some code to FMetalViewport for using Composotir layer/drawable instead of CoreAnimation layer/drawable
  - If the .ini setting is false, then it will use the original VIsionOS support which works generally in the simulator

- Also removed -lc++ commandline which was causing "duplicate -lc++" warning when building in recent Xcode

#rb adam.kinge

[CL 26769312 by Josh Adams in ue5-main branch]
2023-08-02 09:09:16 -04:00
adam kinge
c45436c5e5 Temporarily disable ios simulator root due to Horde issue.
#jira UE-168571
#rnx

[CL 26598828 by adam kinge in ue5-main branch]
2023-07-26 02:12:06 -04:00
adam kinge
e56126723a 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 26597711 by adam kinge in ue5-main branch]
2023-07-26 01:01:43 -04:00
Josh Adams
45eee4b07c - 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

[CL 26527971 by Josh Adams in ue5-main branch]
2023-07-21 18:02:08 -04:00
Josh Adams
5e92811c9e - Removed some hard references to VisionOS from XcodeProject.cs and UEBuildIOS.cs, since it's a Plaform Extension it may not exist
- Refactored some general IOS code to be more programmatic

[CL 26251171 by Josh Adams in ue5-main branch]
2023-06-26 21:37:57 -04:00
josh adams
82ea6a767a [Backout] - CL26223564
[FYI] keaton.stewart
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL26221679 [Main CIS Issue] Errors in Incremental FortniteServer Linux and Incremental Compile Monolithics - Linux
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26226852 by josh adams in ue5-main branch]
2023-06-24 17:52:48 -04:00
keaton stewart
1fd1a77412 [Backout] - CL26221679 [Main CIS Issue] Errors in Incremental FortniteServer Linux and Incremental Compile Monolithics - Linux
#fyi Josh.Adams
#jira FORT-626566 (edited)
Original CL Desc
-----------------------------------------------------------------
- Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26223564 by keaton stewart in ue5-main branch]
2023-06-23 20:29:27 -04:00
Josh Adams
e25e1b3daf - Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26221679 by Josh Adams in ue5-main branch]
2023-06-23 19:12:47 -04:00
Josh Adams
06ff93be0e - 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

[CL 26133818 by Josh Adams in ue5-main branch]
2023-06-20 16:40:51 -04:00
adam kinge
d96542da67 Support iPad SplitView (dynamic resizing) and StageManager
#jira UE-168563
#rb jack.porter

[CL 26051114 by adam kinge in ue5-main branch]
2023-06-16 10:28:50 -04:00