iOS Build workflow, dependency bump

This commit is contained in:
Mercurio 2023-12-20 21:00:22 +01:00
parent 2691907d23
commit acb254db14
7 changed files with 76 additions and 49 deletions

42
.github/workflows/build-ios.yml vendored Normal file
View file

@ -0,0 +1,42 @@
name: Flutter Build - iOS
on:
push:
branches:
- main
jobs:
build:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
- name: Get dependencies
run: flutter pub get
- name: Build Release iOS
run: flutter build ios --release
working-directory: ${{ github.workspace }}
- name: Upload Release IPA artifact
uses: actions/upload-artifact@v3
with:
name: app-release
path: build/ios/runner/Release.ipa
- name: Build Debug iOS
run: flutter build ios --debug
working-directory: ${{ github.workspace }}
- name: Upload Debug IPA artifact
uses: actions/upload-artifact@v3
with:
name: app-debug
path: build/ios/runner/Debug.ipa

View file

@ -1,30 +0,0 @@
name: Dart Fix
on:
schedule:
- cron: '0 0 * * 1' # Every Monday at midnight UTC
jobs:
dart-fix:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Dart
uses: dart-lang/setup-dart@v1
- name: Get Dependencies
run: flutter pub get
- name: Run dart fix
run: dart fix --apply
- name: Commit and push changes
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add .
git commit -m "[Chore] dart code actions"
git push

View file

@ -1,14 +1,18 @@
# openshock-android # Openshock Mobile Companion
> Companion app for managing openshock-compatible devices > Companion app for managing openshock-compatible devices
> >
> Minimum supported Android API: 31 (Android 12). > Minimum supported Android API: 31 (Android 12).
> Minimum required iOS version: 14
> >
![lang](https://img.shields.io/badge/Flutter-02569B?style=for-the-badge&logo=flutter&logoColor=white) ![os1](https://img.shields.io/badge/Android-3DDC84?style=for-the-badge&logo=android&logoColor=white) ![lang](https://img.shields.io/badge/Flutter-02569B?style=for-the-badge&logo=flutter&logoColor=white) ![os1](https://img.shields.io/badge/Android-3DDC84?style=for-the-badge&logo=android&logoColor=white) ![os1](https://img.shields.io/badge/iOS-050505?style=for-the-badge&logo=apple&logoColor=white)
Flutter application to manage and control openshock devices from your phone. Flutter application to manage and control openshock devices from your phone.
Current build status: [![Flutter Build](https://github.com/NotLugozzi/openshock-android/actions/workflows/main.yml/badge.svg)](https://github.com/NotLugozzi/openshock-android/actions/workflows/main.yml) Current build status(android): [![Nightly Android](https://github.com/NotLugozzi/openshock-android/actions/workflows/build-android.yml/badge.svg)](https://github.com/NotLugozzi/openshock-android/actions/workflows/build-android.yml)
Current build status(iOS): [![Nightly iOS](https://github.com/NotLugozzi/openshock-android/actions/workflows/build-ios.yml/badge.svg)](https://github.com/NotLugozzi/openshock-android/actions/workflows/build-ios.yml)
# Installing # Installing
## Stable release channel ## Stable release channel
@ -39,6 +43,17 @@ If you want to build debug you can also run
```bash ```bash
flutter build apk --debug flutter build apk --debug
``` ```
Build artifacts for Android are saved under `build\app\outputs\apk` regardless of the build type. Build artifacts for Android are saved under `build\app\outputs\apk`.
# Building for iOS (manual installation required)
Make sure you have [Flutter](https://flutter.dev/), [xCode and Apple Developer Tools](https://apps.apple.com/en/app/xcode/id497799835?mt=12), [cocoapods](https://formulae.brew.sh/formula/cocoapods), and [Visual Studio Code](https://code.visualstudio.com/) installed.
Install the suggested Flutter, Dart, and linting extensions in Visual Studio Code and set up xcode for "iOS on iphone" developement. Once that is done, go in the project's folder and run the following command to ensure that your build environment is properly configured, any missing component will be highlighted
```bash
flutter doctor
```
Once you've done that, from the same terminal, run this command to generate a .IPA file - once you're done it's a matter of sideloading it to your device. since i've never owned an apple device i have no idea how to do that. iOS artifacts are saved in `build/ios/runner/`
```bash
flutter build ios --debug
```

View file

@ -226,7 +226,7 @@ class _SettingsPageState extends State<settings_page> {
return Text('Error: ${snapshot.error}'); return Text('Error: ${snapshot.error}');
} else { } else {
return Text( return Text(
'App Version: 0.3-rc3 - Build Date: Dec. 11, 2023\n' 'App Version: 0.3.5 - Build Date: Dec.20, 2023\n'
'(C) Mercury, 2023\n' '(C) Mercury, 2023\n'
'Connected to api.shocklink.org, version ${snapshot.data}', 'Connected to api.shocklink.org, version ${snapshot.data}',
textAlign: TextAlign.left, textAlign: TextAlign.left,

View file

@ -53,10 +53,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.2" version: "1.18.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -220,10 +220,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@ -377,18 +377,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.0" version: "1.11.1"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
string_scanner: string_scanner:
dependency: transitive dependency: transitive
description: description:
@ -409,10 +409,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.0" version: "0.6.1"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -433,10 +433,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: web name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.4-beta" version: "0.3.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
@ -470,5 +470,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">=3.1.2 <4.0.0" dart: ">=3.2.0-194.0.dev <4.0.0"
flutter: ">=3.7.0" flutter: ">=3.7.0"

View file

@ -4,7 +4,7 @@ description: Companion app for managing openshock-compatible devices
# pub.dev using `flutter pub publish`. This is preferred for private packages. # pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' publish_to: 'none'
version: 0.3.0 version: 0.3.5
environment: environment:
sdk: '>=3.1.2 <4.0.0' sdk: '>=3.1.2 <4.0.0'