From ca7cd93d372cb0e56549bf424572b3f5ea3026fe Mon Sep 17 00:00:00 2001 From: Savsis Date: Tue, 5 May 2026 20:04:33 +0500 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 60 ++++++++++++-------------------------- 1 file changed, 18 insertions(+), 42 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5478330..8ea4cf2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Build iOS IPA +name: Build iOS IPA (No-Updates Fix) on: push: @@ -20,42 +20,16 @@ jobs: - name: Install dependencies run: | - npm install --legacy-peer-deps --ignore-scripts - npm install react-native-svg --legacy-peer-deps --ignore-scripts + npm install --legacy-peer-deps + # Ставим плагин для фикса track-player, если его нет + npm install @expo/config-plugins --save-dev - - name: Hard Reset app.json + - name: Patch Project (Remove EXUpdates) run: | - cat << 'EOF' > app.json - { - "expo": { - "name": "BurmaldaMusic", - "slug": "nodeshiftmusicburmalda", - "version": "1.0.1", - "orientation": "portrait", - "icon": "./assets/icon.png", - "userInterfaceStyle": "light", - "ios": { - "supportsTablet": true, - "bundleIdentifier": "com.nodeshift.burmaldamusic", - "config": { - "usesNonExemptEncryption": false - } - }, - "plugins": [ - "./node_modules/react-native-track-player/app.plugin.js" - ] - } - } - EOF - - - name: Patch Track Player - run: | - TARGET_DIR="node_modules/react-native-track-player/lib/src" - if [ -d "$TARGET_DIR" ]; then - cp "$TARGET_DIR/trackPlayer.js" "$TARGET_DIR/trackPlayer.js" 2>/dev/null || \ - cp "$TARGET_DIR/trackPlayer" "$TARGET_DIR/trackPlayer.js" 2>/dev/null || true - fi + # Вырезаем expo-updates, чтобы Xcode не искал его скрипты + sed -i '' '/"expo-updates"/d' app.json || true + # Твой патч для track-player PLUGIN_PATH="node_modules/react-native-track-player/app.plugin.js" cat << 'EOF' > "$PLUGIN_PATH" const { withInfoPlist } = require('@expo/config-plugins'); @@ -70,17 +44,16 @@ jobs: - name: Expo prebuild run: npx expo prebuild --platform ios --clean --no-install - env: - EXPO_NO_DOTENV: 1 - name: Install CocoaPods - run: cd ios && pod install --repo-update && cd .. + run: cd ios && pod install && cd .. - name: Build unsigned app run: | WORKSPACE_PATH=$(find ios -maxdepth 1 -name "*.xcworkspace" | head -1) SCHEME_NAME=$(basename "$WORKSPACE_PATH" .xcworkspace) + # Собираем без подписи и БЕЗ падения на скриптах xcodebuild build \ -workspace "$WORKSPACE_PATH" \ -scheme "$SCHEME_NAME" \ @@ -90,18 +63,21 @@ jobs: CODE_SIGNING_REQUIRED=NO \ CODE_SIGNING_ALLOWED=NO \ CODE_SIGN_IDENTITY="" \ - ENABLE_BITCODE=NO \ - | xcpretty + ENABLE_BITCODE=NO | xcpretty - name: Package IPA + if: always() run: | + # Ищем .app файл APP_PATH=$(find "$RUNNER_TEMP/DerivedData/Build/Products" -name "*.app" -type d | grep -v "\.xctest" | head -1) + if [ -z "$APP_PATH" ]; then echo "APP NOT FOUND"; exit 1; fi + mkdir -p Payload cp -r "$APP_PATH" Payload/ - zip -qr burmalda_final.ipa Payload + zip -qr burmalda_music.ipa Payload - name: Upload IPA uses: actions/upload-artifact@v4 with: - name: Burmalda-IPA - path: burmalda_final.ipa + name: Burmalda-IPA-Final + path: burmalda_music.ipa