Code signing for apple

This commit is contained in:
stopflock
2025-10-15 22:26:02 -05:00
parent 7ace123b4b
commit 03f3419f72

View File

@@ -146,13 +146,33 @@ jobs:
dart run flutter_launcher_icons
dart run flutter_native_splash:create
# - name: Build iOS .ipa
# run: flutter build ipa --release
- name: Build iOS .app
- name: Set up code signing
run: |
flutter build ios --release --no-codesign --dart-define=OSM_PROD_CLIENTID='${{ secrets.OSM_PROD_CLIENTID }}' --dart-define=OSM_SANDBOX_CLIENTID='${{ secrets.OSM_SANDBOX_CLIENTID }}'
./app2ipa.sh build/ios/iphoneos/Runner.app
# Create temporary keychain
security create-keychain -p "${{ secrets.IOS_KEYCHAIN_PASSWORD }}" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "${{ secrets.IOS_KEYCHAIN_PASSWORD }}" build.keychain
security set-keychain-settings -t 3600 -u build.keychain
# Import certificate
echo "${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_BASE64 }}" | base64 --decode > certificate.p12
security import certificate.p12 -k build.keychain -P "" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "${{ secrets.IOS_KEYCHAIN_PASSWORD }}" build.keychain
# Install provisioning profile
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
echo "${{ secrets.IOS_APPSTORE_PROVISIONING_PROFILE_BASE64 }}" | base64 --decode > ~/Library/MobileDevice/Provisioning\ Profiles/appstore.mobileprovision
- name: Build iOS .ipa
run: |
flutter build ipa --release --dart-define=OSM_PROD_CLIENTID='${{ secrets.OSM_PROD_CLIENTID }}' --dart-define=OSM_SANDBOX_CLIENTID='${{ secrets.OSM_SANDBOX_CLIENTID }}'
cp build/ios/iphoneos/Runner.ipa Runner.ipa
- name: Clean up keychain
if: always()
run: |
security delete-keychain build.keychain
rm -f certificate.p12
- name: Upload IPA artifact
uses: actions/upload-artifact@v4