Commit Graph

14 Commits

Author SHA1 Message Date
josh adams
240a47eb6d - Correctly name BP non-development IOS/Mac .app's
#jira UE-193585
#rb adam.kinge

[CL 27361366 by josh adams in ue5-main branch]
2023-08-24 18:15:18 -04:00
josh adams
7c82cb7d46 - Fixed some issues with codesigning BP projects with modern Xcode, when BaseEngine.ini has no signing info, and the signing info is in the projects settings
- 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]
2023-08-11 13:42:54 -04:00
josh adams
0e3d323296 - Added architecture to GetDestinationPlatform() so -destination param to xcodebuild can get simulators (and brought it over from 5.4)
- 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]
2023-07-26 16:41:36 -04:00
josh adams
c5fe47c532 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 26592756 by josh adams in ue5-main branch]
2023-07-25 18:47:15 -04:00
Josh Adams
6c143a836a - 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
#jira UE-189830
#rb calvin.zheng

[CL 26352457 by Josh Adams in ue5-main branch]
2023-06-30 15:28:03 -04:00
Josh Adams
b7d0fe4ab0 - Cleaning up MacExports/IOSExports/IOSDeploy/etc for shared functionality from Modern Xcode
#rb trivial
#preflight 6470ddb73c13defa05f64f51

[CL 25647200 by Josh Adams in ue5-main branch]
2023-05-26 12:51:21 -04:00
Josh Adams
a2263b2ce0 - Xcode support for Content Only projects
- 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]
2023-05-25 13:04:27 -04:00
Josh Adams
57a2862d29 - Fixed mac (and maybe IOS) archiving in legacy mode
#rb calvin.zheng
#preflight skip

[CL 25237868 by Josh Adams in ue5-main branch]
2023-04-28 15:28:42 -04:00
Josh Adams
5fe7b4a44a - Restored some code that got lost in a refactor
#rb trivial
#preflight skip

[CL 25233441 by Josh Adams in ue5-main branch]
2023-04-28 11:45:13 -04:00
Josh Adams
8b1d9615f8 - Packaging and archiving for modern IOS/Mac:
- When doing standard BuildCookRun, package will simply finalize the (likely already finalize) .app in Binaries/<platform>
  - When using Distribution mode, packge will create a .xcarchive in the Xcode Library (as seen in Organizer) to be able to distribute in various modes
  - Archiving will copy either the .app or .xcarchive made above to the archive directory (it will always copy the most recent .xcarchive, since we don't create the directory name, we can't know which archive to copy, so the most recent one wins - not an issue when using -package, because it always makes a new .xcarchive)
- A few code cleanup/refactors in related
#preflight 644ab91fb208f61af82d8f76

[CL 25220287 by Josh Adams in ue5-main branch]
2023-04-27 14:22:37 -04:00
Josh Adams
97fae42953 - Fixed QuickLaunch for IOS working with Modern xcode
- No longer try to grab the output from IOS with QuickLaunch as idevicedebug is killing the app too quickly
- The modern Staged directory can now be shared between Development/Shipping/etc, for grabbing any non-Framework .dylibs (like steam)
- Removed the extra --generate-entitlements-der option now that Xcode also always adds it
#preflight 6447d49a024bc608e64072f9
#rb adam.kinge
#preflight 6447d6643d1be392df890776

[CL 25179459 by Josh Adams in ue5-main branch]
2023-04-25 09:51:37 -04:00
calvin zheng
d615e69004 Exposing xcode settings to UE settings UI (more work about dynamic disabling etc will follow)
#jira N/A
#rb Josh.Adams
#preflight 6446ae7a7368de8c98fc84d2

[CL 25169123 by calvin zheng in ue5-main branch]
2023-04-24 15:15:00 -04:00
Josh Adams
4c3471b8a7 - After staging, Modern xcode projects will build with stub xcode project to generate a complete .app in the root of the staging directory (tested Mac and IOS)
- Fixed up scripts for copying files into mac .app with modern xcode
- Changed bIncludeEngineSource being false to not remove game/samples/mods/etc from projects (only stub xcode projects set it to false, afaict)
#rb zack.neyland
#preflight 642cc4c21d19c0312af476c0

[CL 24922909 by Josh Adams in ue5-main branch]
2023-04-04 20:54:06 -04:00
Josh Adams
e6e825cc8d - Made ApplePlatform.Automation to share code betwen Mac and IOS
#rb adam.kinge
#jira none
#preflight 6346edec8d665d55d04a5478
#preflight 635174bfe6096564af0b8a57

[CL 22659145 by Josh Adams in ue5-main branch]
2022-10-20 12:22:07 -04:00