Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
run: flutter pub get

- name: 🔥 Instalar FlutterFire
run: dart pub global activate --source git https://github.com/phuongta-pi/flutterfire_cli.git --git-path packages/flutterfire_cli --git-ref fix/spm-crashlytics-derived-data-path --overwrite
run: dart pub global activate flutterfire_cli

- name: 🪎 Configura bundle
run: bundle install
Expand Down Expand Up @@ -154,6 +154,18 @@ jobs:
restore-keys: |
derived-data-ios-${{ runner.os }}-

- name: ⚡ Configurar Cache para Homebrew
uses: actions/cache@v5
with:
path: |
/opt/homebrew/Cellar/xcbeautify
key: homebrew-macos-${{ runner.os }}-${{ hashFiles('.github/workflows/deploy.yml') }}
restore-keys: homebrew-macos-${{ runner.os }}-

- name: ⚡ Instalar Herramientas con Homebrew
run: |
brew install xcbeautify

- name: 🐦 Configurar Flutter SDK
uses: flutter-actions/setup-flutter@v4
with:
Expand All @@ -174,7 +186,7 @@ jobs:
run: flutter pub get

- name: 🔥 Instalar FlutterFire
run: dart pub global activate --source git https://github.com/phuongta-pi/flutterfire_cli.git --git-path packages/flutterfire_cli --git-ref fix/spm-crashlytics-derived-data-path --overwrite
run: dart pub global activate flutterfire_cli

- name: 💍 Instala gem xcodeproj
run: sudo gem install xcodeproj
Expand Down Expand Up @@ -258,6 +270,18 @@ jobs:
restore-keys: |
derived-data-macos-${{ runner.os }}-

- name: ⚡ Configurar Cache para Homebrew
uses: actions/cache@v5
with:
path: |
/opt/homebrew/Cellar/xcbeautify
key: homebrew-macos-${{ runner.os }}-${{ hashFiles('.github/workflows/deploy.yml') }}
restore-keys: homebrew-macos-${{ runner.os }}-

- name: ⚡ Instalar Herramientas con Homebrew
run: |
brew install xcbeautify

- name: 🐦 Configurar Flutter SDK
uses: flutter-actions/setup-flutter@v4
with:
Expand All @@ -278,7 +302,7 @@ jobs:
run: flutter pub get

- name: 🔥 Instalar FlutterFire
run: dart pub global activate --source git https://github.com/phuongta-pi/flutterfire_cli.git --git-path packages/flutterfire_cli --git-ref fix/spm-crashlytics-derived-data-path --overwrite
run: dart pub global activate flutterfire_cli

- name: 💍 Instala gem xcodeproj
run: sudo gem install xcodeproj
Expand Down
152 changes: 89 additions & 63 deletions ios/Runner.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions ios/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,24 @@
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<PreActions>
<ExecutionAction
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
<ActionContent
title = "Run Prepare Flutter Framework Script"
scriptText = "/bin/sh &quot;$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh&quot; prepare&#10;">
<EnvironmentBuildable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</EnvironmentBuildable>
</ActionContent>
</ExecutionAction>
</PreActions>
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
Expand Down
12 changes: 6 additions & 6 deletions ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions ios/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ platform :ios do
match_type = string_option(options, :match_type, env_var: "MATCH_TYPE", required: true)
app_identifier = string_option(options, :app_identifier, env_var: "APP_IDENTIFIER", required: true)
team_id = string_option(options, :team_id, env_var: "TEAM_ID", required: true)
is_ci = bool_option(options, :is_ci, env_var: "IS_CI", default: false)

# Skip options
skip_flutter_build = bool_option(options, :skip_flutter_build, env_var: "SKIP_FLUTTER_BUILD", default: false)
Expand Down Expand Up @@ -164,6 +165,7 @@ platform :ios do
workspace: "./ios/Runner.xcworkspace",
output_directory: "./build/ios/ipa",
output_name: "MiUTEM.ipa",
xcodebuild_formatter: is_ci ? "xcbeautify --renderer github-actions" : "xcbeautify",
)
end
end
Expand Down
40 changes: 20 additions & 20 deletions macos/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@
33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* Run Script */,
66347C3AB20C597EF927CF2E /* [CP] Embed Pods Frameworks */,
52517F663F1CEC36F438899C /* FlutterFire: "flutterfire bundle-service-file" */,
746A61BDA4C17D2415427B30 /* FlutterFire: "flutterfire bundle-service-file" */,
9386F2DC54D032B1619C6E45 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */,
);
buildRules = (
Expand Down Expand Up @@ -401,24 +401,6 @@
shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
};
52517F663F1CEC36F438899C /* FlutterFire: "flutterfire bundle-service-file" */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "FlutterFire: \"flutterfire bundle-service-file\"";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\n# Define the Resources directory path\nRESOURCES_DIR=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Resources\"\n\n# Create the Resources directory if it does not exist\n mkdir -p \"$RESOURCES_DIR\"\n\n flutterfire bundle-service-file --plist-destination=\"$RESOURCES_DIR\" --build-configuration=${CONFIGURATION} --platform=macos --apple-project-path=\"${SRCROOT}\"\n";
};
5938360182F56825A17B7D38 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -458,6 +440,24 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
746A61BDA4C17D2415427B30 /* FlutterFire: "flutterfire bundle-service-file" */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "FlutterFire: \"flutterfire bundle-service-file\"";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\n# Define the Resources directory path\nRESOURCES_DIR=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Resources\"\n\n# Create the Resources directory if it does not exist\n mkdir -p \"$RESOURCES_DIR\"\n\n flutterfire bundle-service-file --plist-destination=\"$RESOURCES_DIR\" --build-configuration=${CONFIGURATION} --platform=macos --apple-project-path=\"${SRCROOT}\"\n";
};
9386F2DC54D032B1619C6E45 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
Expand All @@ -474,7 +474,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\n\nif [ -z \"$PODS_ROOT\" ] || [ ! -d \"$PODS_ROOT/FirebaseCrashlytics\" ]; then\n # Cannot use \"BUILD_DIR%/Build/*\" as per Firebase documentation, it points to \"flutter-project/build/ios/*\" path which doesn't have run script\n DERIVED_DATA_PATH=$(echo \"$BUILD_ROOT\" | sed -E 's|(.*DerivedData/[^/]+).*|\\1|')\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"${SRCROOT}/../build/macos/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\nelse\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"$PODS_ROOT/FirebaseCrashlytics/run\"\nfi\n\n# Command to upload symbols script used to upload symbols to Firebase server\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=\"$PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT\" --platform=macos --apple-project-path=\"${SRCROOT}\" --env-platform-name=\"${PLATFORM_NAME}\" --env-configuration=\"${CONFIGURATION}\" --env-project-dir=\"${PROJECT_DIR}\" --env-built-products-dir=\"${BUILT_PRODUCTS_DIR}\" --env-dwarf-dsym-folder-path=\"${DWARF_DSYM_FOLDER_PATH}\" --env-dwarf-dsym-file-name=\"${DWARF_DSYM_FILE_NAME}\" --env-infoplist-path=\"${INFOPLIST_PATH}\" --build-configuration=${CONFIGURATION}\n";
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\n\nif [ -n \"$PODS_ROOT\" ] && [ -f \"$PODS_ROOT/FirebaseCrashlytics/run\" ]; then\n # CocoaPods installation.\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"$PODS_ROOT/FirebaseCrashlytics/run\"\nelif [ -n \"$BUILD_DIR\" ] && [ -f \"$BUILD_DIR/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\" ]; then\n # Swift Package Manager installation. Flutter resolves Swift Package Manager\n # checkouts into \"$BUILD_DIR/SourcePackages\" (i.e. \"<project>/[ios|macos]/build/SourcePackages\"),\n # rather than the Xcode DerivedData directory used for a plain Xcode project.\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"$BUILD_DIR/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\nelse\n # Fall back to the Xcode DerivedData directory in case Swift Package Manager\n # checkouts are not resolved relative to \"$BUILD_DIR\" (older/alternative setups).\n # Cannot use \"BUILD_DIR%/Build/*\" as per Firebase documentation, it points to \"flutter-project/build/ios/*\" path which doesn't have run script\n DERIVED_DATA_PATH=$(echo \"$BUILD_ROOT\" | sed -E 's|(.*DerivedData/[^/]+).*|\\1|')\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"${DERIVED_DATA_PATH}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\n\n if [ ! -f \"$PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT\" ]; then\n # Last resort: search both known Swift Package Manager checkout roots in case\n # the exact expected layout above does not match this Xcode/Flutter version.\n FOUND_UPLOAD_SCRIPT=$(find \"$BUILD_DIR\" \"${DERIVED_DATA_PATH}\" -type f -path '*firebase-ios-sdk/Crashlytics/run' -print -quit 2>/dev/null)\n if [ -n \"$FOUND_UPLOAD_SCRIPT\" ]; then\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"$FOUND_UPLOAD_SCRIPT\"\n fi\n fi\nfi\n\n# Command to upload symbols script used to upload symbols to Firebase server\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=\"$PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT\" --platform=macos --apple-project-path=\"${SRCROOT}\" --env-platform-name=\"${PLATFORM_NAME}\" --env-configuration=\"${CONFIGURATION}\" --env-project-dir=\"${PROJECT_DIR}\" --env-built-products-dir=\"${BUILT_PRODUCTS_DIR}\" --env-dwarf-dsym-folder-path=\"${DWARF_DSYM_FOLDER_PATH}\" --env-dwarf-dsym-file-name=\"${DWARF_DSYM_FILE_NAME}\" --env-infoplist-path=\"${INFOPLIST_PATH}\" --build-configuration=${CONFIGURATION}\n";
};
CF6AF7DCDC9E13F4E49850B5 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions macos/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ platform :mac do
match_type = string_option(options, :match_type, env_var: "MATCH_TYPE", required: true)
app_identifier = string_option(options, :app_identifier, env_var: "APP_IDENTIFIER", required: true)
team_id = string_option(options, :team_id, env_var: "TEAM_ID", required: true)
is_ci = bool_option(options, :is_ci, env_var: "IS_CI", default: false)

skip_flutter_build = bool_option(options, :skip_flutter_build, env_var: "SKIP_FLUTTER_BUILD", default: false)
skip_build_app = bool_option(options, :skip_build_app, env_var: "SKIP_BUILD_APP", default: false)
Expand Down Expand Up @@ -163,6 +164,7 @@ platform :mac do
output_directory: "./build/macos",
output_name: "MiUTEM.app",
skip_package_pkg: false,
xcodebuild_formatter: is_ci ? "xcbeautify --renderer github-actions" : "xcbeautify",
)
end
end
Expand Down
Loading
Loading