diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 65279833..d2c82b5d 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -59,73 +59,47 @@ jobs: path: refilc/build/app/outputs/flutter-apk/app-*-release.apk -# build-ios: -# name: Build for IOS -# runs-on: macos-latest -# permissions: -# contents: read -# -# steps: -# - name: Download repository -# uses: actions/checkout@v4.2.2 -# -# - name: Install the Apple certificate and provisioning profile -# env: -# BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} -# P12_PASSWORD: ${{ secrets.P12_PASSWORD }} -# BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} -# KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} -# -# run: | -# # create variables -# CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 -# PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision -# KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db -# -# # import certificate and provisioning profile from secrets -# echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH -# echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode --output $PP_PATH -# -# # create temporary keychain -# security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH -# security set-keychain-settings -lut 21600 $KEYCHAIN_PATH -# security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH -# -# # import certificate to keychain -# security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH -# security list-keychain -d user -s $KEYCHAIN_PATH -# -# # apply provisioning profile -# mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles -# cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles -# -# - uses: subosito/flutter-action@v2.18.0 -# with: -# flutter-version: "3.27.1" -# channel: "stable" -# cache: "true" -# -# - name: Install dependencies -# run: | -# chmod +x fix-pub.sh -# bash fix-pub.sh -# -# - name: Building IPA -# run: | -# cd refilc -# chmod +x build-ipa.sh -# bash build-ipa.sh -# cd .. -# -# - name: Upload Android Release -# uses: actions/upload-artifact@v4.6.1 -# with: -# name: ios-ipa -# # refilc/build/app/outputs/flutter-apk/app-*-release.apk -# path: refilc/build/app/outputs/ios/ipa/*.ipa -# -# - name: Clean up keychain and provisioning profile -# if: ${{ always() }} -# run: | -# security delete-keychain $RUNNER_TEMP/app-signing.keychain-db -# rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision + build-ios: + name: Build for IOS + runs-on: macos-latest + permissions: + contents: read + + steps: + - name: Download repository + uses: actions/checkout@v4.2.2 + + - uses: subosito/flutter-action@v2.18.0 + with: + flutter-version: "3.27.1" + channel: "stable" + cache: "true" + + - name: Install dependencies + run: | + chmod +x fix-pub.sh + bash fix-pub.sh + + - name: Build + run: | + cd refilc + chmod +x build-ipa.sh + bash build-ipa.sh + cd .. + + - name: Create IPA + run: | + cd refilc + cd build/ios/iphoneos + mkdir Payload + cp -r Runner.app Payload/ + zip -r Payload.zip Payload + mv Payload.zip firkaapp.ipa + cd ../../.. + + - name: Upload Android Release + uses: actions/upload-artifact@v4.6.1 + with: + name: ios-ipa + # refilc/build/app/outputs/flutter-apk/app-*-release.apk + path: refilc/build/ios/iphoneos/firkaapp.ipa diff --git a/refilc/build-ipa.sh b/refilc/build-ipa.sh index 9f9ad51c..d6727fff 100755 --- a/refilc/build-ipa.sh +++ b/refilc/build-ipa.sh @@ -1,7 +1,3 @@ #!/bin/sh -flutter clean -dart pub get -flutter doctor -v - -flutter build ipa --release --dart-define=APPVER=$(cat pubspec.yaml | grep version: | cut -d' ' -f2 | cut -d+ -f1) --tree-shake-icons +flutter build ipa --release --tree-shake-icons --split-debug-info=debug-info --obfuscate --no-code-sign