diff --git a/codemagic.yaml b/codemagic.yaml new file mode 100644 index 0000000..80afa94 --- /dev/null +++ b/codemagic.yaml @@ -0,0 +1,77 @@ +workflows: + ios-release: + name: iOS production release + max_build_duration: 45 + integrations: + app_store_connect: DevFin API Key + environment: + ios_signing: + provisioning_profiles: + - DevFin Profile + certificates: + - DevFin Apple Cert + groups: + - code-signing + vars: + XCODE_WORKSPACE: "ios/Runner.xcworkspace" # <-- Put your encrypted Certificate Private Key here + # Environment variable values provided when triggering build with Codemagic API. Alternatively add the required values below. + APP_STORE_APP_ID: 6476280284 # <-- Put the app id number here. This is found in App Store Connect > App > General > App Information + XCODE_CONFIG: Release-production # <-- Put the Xcode configuration here. This is found in Xcode > Project > Info > Configurations + XCODE_SCHEME: production # <-- Put the Xcode scheme here. This is found in Xcode > Product > Scheme > Edit Scheme + BUNDLE_ID: com.negandev.devfin # <-- Put the bundle id here. This is found in Xcode > Runner [Target] > General > Identity > Bundle Identifier + ENTRY_POINT: lib/main_production.dart + flutter: 3.16.0 + xcode: 15.1 # <-- set to specific version e.g. 14.3, 15.0 to avoid unexpected updates. + cocoapods: default +# triggering: +# events: +# - push +# branch_patterns: +# - pattern: "main" +# include: true +# source: true + scripts: + - name: Get Flutter Packages + script: | + flutter packages pub get + - name: Pod install + script: | + find . -name "Podfile" -execdir pod install \; + - name: Set up keychain to be used for codesigning using Codemagic CLI 'keychain' command + script: | + keychain initialize + - name: Fetch signing files + script: | + app-store-connect fetch-signing-files "$BUNDLE_ID" --type IOS_APP_STORE --create + - name: Add certs to keychain + script: | + keychain add-certificates + - name: Set up code signing settings on Xcode project + script: | + xcode-project use-profiles + - name: Increment build number + script: | + cd $CM_BUILD_DIR/ios + LATEST_BUILD_NUMBER=$(app-store-connect get-latest-testflight-build-number "$APP_ID") + agvtool new-version -all $(($LATEST_BUILD_NUMBER + 1)) + - name: Flutter build ipa and automatic versioning + script: | + flutter build ipa --release --flavor="$XCODE_SCHEME" -t "$ENTRY_POINT" \ + --export-options-plist=/Users/builder/export_options.plist \ + + artifacts: + - build/ios/ipa/*.ipa + - /tmp/xcodebuild_logs/*.log + - flutter_drive.log + - $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.dSYM + publishing: + email: + recipients: + - huykgit98@gmail.com + notify: + success: true + failure: true + app_store_connect: # checkout https://docs.codemagic.io/yaml-publishing/app-store-connect/ for more information + auth: integration + submit_to_testflight: true # Optional boolean, defaults to false. Whether or not to submit the uploaded build to TestFlight beta review. Required for distributing to beta groups. Note: This action is performed during post-processing. + expire_build_submitted_for_review: true diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index e69de29..0000000 diff --git a/ios/firebase_app_id_file.json b/ios/firebase_app_id_file.json index 5994054..85c21dd 100644 --- a/ios/firebase_app_id_file.json +++ b/ios/firebase_app_id_file.json @@ -1,7 +1,7 @@ { "file_generated_by": "FlutterFire CLI", "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:449011771107:ios:da10c2f58aba7308e2c7d6", - "FIREBASE_PROJECT_ID": "devfin-prod", - "GCM_SENDER_ID": "449011771107" + "GOOGLE_APP_ID": "1:964701927823:ios:809b545b881b004566b3fa", + "FIREBASE_PROJECT_ID": "devfin-436ed", + "GCM_SENDER_ID": "964701927823" } \ No newline at end of file diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart new file mode 100644 index 0000000..0061aa9 --- /dev/null +++ b/lib/firebase_options.dart @@ -0,0 +1,68 @@ +// File generated by FlutterFire CLI. +// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members +import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; +import 'package:flutter/foundation.dart' + show defaultTargetPlatform, kIsWeb, TargetPlatform; + +/// Default [FirebaseOptions] for use with your Firebase apps. +/// +/// Example: +/// ```dart +/// import 'firebase_options.dart'; +/// // ... +/// await Firebase.initializeApp( +/// options: DefaultFirebaseOptions.currentPlatform, +/// ); +/// ``` +class DefaultFirebaseOptions { + static FirebaseOptions get currentPlatform { + if (kIsWeb) { + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for web - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + } + switch (defaultTargetPlatform) { + case TargetPlatform.android: + return android; + case TargetPlatform.iOS: + return ios; + case TargetPlatform.macOS: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for macos - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.windows: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for windows - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.linux: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for linux - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); + } + } + + static const FirebaseOptions android = FirebaseOptions( + apiKey: 'AIzaSyBBeslgYmInjwx9PIkqry2dSi4-ph9iyYQ', + appId: '1:964701927823:android:cd6ea466d93be42e66b3fa', + messagingSenderId: '964701927823', + projectId: 'devfin-436ed', + storageBucket: 'devfin-436ed.appspot.com', + ); + + static const FirebaseOptions ios = FirebaseOptions( + apiKey: 'AIzaSyDz-qt7GeudXNcYBAy-z5kpyTTBK1PdCWU', + appId: '1:964701927823:ios:809b545b881b004566b3fa', + messagingSenderId: '964701927823', + projectId: 'devfin-436ed', + storageBucket: 'devfin-436ed.appspot.com', + iosBundleId: 'com.negandev.devfin', + ); +}