fix(actions): add bundle ID verification and nested app bundle handling in macOS build workflow
Some checks failed
Test macOS Build Action / test-macos-build (push) Has been cancelled
Some checks failed
Test macOS Build Action / test-macos-build (push) Has been cancelled
This commit is contained in:
parent
2b40fb0394
commit
c57938c995
@ -66,6 +66,30 @@ jobs:
|
||||
else
|
||||
echo "⚠️ DefaultGame.ini not found!"
|
||||
fi
|
||||
|
||||
# Verify Build.cs and Target.cs files
|
||||
BUILD_CS="Source/LuckyWorld/LuckyWorld.Build.cs"
|
||||
TARGET_CS="Source/LuckyWorld.Target.cs"
|
||||
|
||||
if [ -f "$BUILD_CS" ]; then
|
||||
if grep -q "APP_BUNDLE_IDENTIFIER=com.luckyrobots.luckyworld" "$BUILD_CS"; then
|
||||
echo "✅ Bundle ID correctly set in LuckyWorld.Build.cs"
|
||||
else
|
||||
echo "⚠️ Warning: Bundle ID may not be correctly set in LuckyWorld.Build.cs"
|
||||
fi
|
||||
else
|
||||
echo "⚠️ LuckyWorld.Build.cs not found!"
|
||||
fi
|
||||
|
||||
if [ -f "$TARGET_CS" ]; then
|
||||
if grep -q "APP_BUNDLE_IDENTIFIER=com.luckyrobots.luckyworld" "$TARGET_CS"; then
|
||||
echo "✅ Bundle ID correctly set in LuckyWorld.Target.cs"
|
||||
else
|
||||
echo "⚠️ Warning: Bundle ID may not be correctly set in LuckyWorld.Target.cs"
|
||||
fi
|
||||
else
|
||||
echo "⚠️ LuckyWorld.Target.cs not found!"
|
||||
fi
|
||||
shell: bash
|
||||
|
||||
# Check Unreal Engine Project settings
|
||||
|
@ -18,5 +18,12 @@ public class LuckyWorldTarget : TargetRules
|
||||
{
|
||||
this.bUseLoggingInShipping = true;
|
||||
}
|
||||
|
||||
// macOS specific settings
|
||||
if (Target.Platform == UnrealTargetPlatform.Mac)
|
||||
{
|
||||
// Force use the bundle ID from DefaultGame.ini
|
||||
GlobalDefinitions.Add("APP_BUNDLE_IDENTIFIER=com.luckyrobots.luckyworld");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,5 +19,11 @@ public class LuckyWorld : ModuleRules
|
||||
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
|
||||
|
||||
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
|
||||
|
||||
// Set the bundle identifier for macOS builds
|
||||
if (Target.Platform == UnrealTargetPlatform.Mac)
|
||||
{
|
||||
PublicDefinitions.Add("APP_BUNDLE_IDENTIFIER=com.luckyrobots.luckyworld");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -116,9 +116,38 @@ echo "🔧 Performing post-build fix for bundle ID..."
|
||||
if [ -n "$APP_PATH" ]; then
|
||||
INFO_PLIST="$APP_PATH/Contents/Info.plist"
|
||||
if [ -f "$INFO_PLIST" ]; then
|
||||
echo "Setting bundle identifier to com.luckyrobots.luckyworld"
|
||||
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.luckyrobots.luckyworld" "$INFO_PLIST"
|
||||
echo "Updated bundle ID: $(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "$INFO_PLIST")"
|
||||
CURRENT_BUNDLE_ID=$(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "$INFO_PLIST")
|
||||
echo "Current bundle ID: $CURRENT_BUNDLE_ID"
|
||||
|
||||
if [ "$CURRENT_BUNDLE_ID" != "com.luckyrobots.luckyworld" ]; then
|
||||
echo "Bundle ID mismatch - fixing it!"
|
||||
echo "Setting bundle identifier to com.luckyrobots.luckyworld"
|
||||
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.luckyrobots.luckyworld" "$INFO_PLIST"
|
||||
echo "Updated bundle ID: $(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "$INFO_PLIST")"
|
||||
else
|
||||
echo "Bundle ID is already correct: com.luckyrobots.luckyworld"
|
||||
fi
|
||||
|
||||
# Find and repair nested app bundles as well (like CrashReportClient.app)
|
||||
echo "Checking for nested app bundles..."
|
||||
NESTED_APPS=$(find "$APP_PATH" -name "*.app" -type d)
|
||||
if [ -n "$NESTED_APPS" ]; then
|
||||
echo "Found nested app bundles, fixing their bundle IDs:"
|
||||
echo "$NESTED_APPS" | while read -r NESTED_APP; do
|
||||
if [ -f "$NESTED_APP/Contents/Info.plist" ]; then
|
||||
NESTED_NAME=$(basename "$NESTED_APP" .app)
|
||||
NESTED_BUNDLE_ID="com.luckyrobots.luckyworld.$NESTED_NAME"
|
||||
echo "Setting nested bundle ID to $NESTED_BUNDLE_ID for $NESTED_APP"
|
||||
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $NESTED_BUNDLE_ID" "$NESTED_APP/Contents/Info.plist"
|
||||
|
||||
# Verify the change
|
||||
UPDATED_ID=$(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "$NESTED_APP/Contents/Info.plist")
|
||||
echo "Updated nested app bundle ID: $UPDATED_ID"
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "No nested app bundles found."
|
||||
fi
|
||||
else
|
||||
echo "⚠️ Info.plist not found at $INFO_PLIST"
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user