Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Suggestion] I want Boorusama to be usable on iOS. #475

Open
satuputra796 opened this issue Dec 21, 2024 · 6 comments · May be fixed by #515
Open

[Suggestion] I want Boorusama to be usable on iOS. #475

satuputra796 opened this issue Dec 21, 2024 · 6 comments · May be fixed by #515

Comments

@satuputra796
Copy link

Hello, I have a suggestion.

What's your suggestion?
I wanna be able to use Boorusama on iOS (I wanna be able to use Boorusama in IPad and IPhone). I would like it to be available in App Store.

@khoadng
Copy link
Owner

khoadng commented Dec 21, 2024

The app can already run on iOS if you build an IPA from the source. As for publishing on the App Store, I don’t want to pay Apple’s yearly fee until I have a way to recover the cost.

@satuputra796
Copy link
Author

satuputra796 commented Dec 21, 2024

So, how do I run Boorusama on iOS? /genq /nm

@khoadng
Copy link
Owner

khoadng commented Dec 21, 2024

https://docs.flutter.dev/deployment/ios

You need to build IPA from the source code. I wouldn't recommend it though, unless you are a developer since it's complicated.

@satuputra796
Copy link
Author

Sorry for being late, but yes, it's complex, as how you described it.

@Garry050
Copy link
Contributor

Garry050 commented Dec 29, 2024

it was so complex for me (cuz i'm completly newbie about macOS) but success.

  1. make sure installed Cocoapods and flutterfire configure working fine
  2. update deps 'searchfield' from flutter command (it's cause building error)
  3. edit lib/foundation/firebase/flutterfire-config.sh (for change firebase project id) and run FROM PROJECT DIRECTORY (need twice. dev and prod or just copy and paste/rename file)
  4. run ipa.sh (need args. dev or prod, it's 1st time)
  5. if build success, check build/ios directory and edit ipa.sh (line 19 or 27 directory and .app folder might different)
  6. run ipa.sh again or manually excute making ipa commands
  7. sign ipa (from build/ directory) yourself (p12, selfsign, or TrollStore)

These are just some simple tips. I don't know enough about iOS apps or flutter to write an accurate guide.

@VALLIS-NERIA
Copy link
Contributor

VALLIS-NERIA commented Feb 13, 2025

Just built successfully following @Garry050 's manual.

Prepare a Mac OS

Since I don't have a mac hardware, I used a virtual machine following this guide: https://forum.amd-osx.com/threads/mac-os-install-on-amd-ryzen-vmware-opencore-improved-performance-works-with-sequoia-sonoma-etc.4696/

This only works on AMD Ryzen processors.

I choose macOS 14.6.1.

Install Dependencies

  • Go to App Store and install XCode. Then sudo xcodebuild -license

  • Install iOS SDK: xcodebuild -downloadPlatform iOS

  • Install CocoaPods:

    sudo gem install cocoapods
    

    It will complian about the version of Ruby, so some packages must be installed individually:

    sudo gem install securerandom -v 0.3.2
    sudo gem install drb -v 2.0.6 
    sudo gem install activesupport -v 6.1.7.10
    sudo gem install zeitwerk -v 2.6.18 
    sudo gem install activesupport -v 6.1.7.10
    sudo gem install cocoapods
    

    Downgrade concurrent-ruby to 1.3.4:

    sudo gem uninstall concurrent-ruby
    sudo gem install concurrent-ruby -v 1.3.4
    
  • Install Flutter: https://docs.flutter.dev/get-started/install/macos/mobile-ios#download-then-install-flutter

  • Install Firebase_CLI: https://firebase.google.com/docs/cli?hl=zh-cn#mac-linux-auto-script

    Login to Firebase_CLI:

    firebase login
    

    Go to Firebase console to accept terms and create a new project: https://console.firebase.google.com/

    If you don't accept the terms, you will get an error in later steps.

  • Install packages:

    flutter pub get
    flutter pub run build_runner build --delete-conflicting-outputs
    
  • Update searchfield: flutter pub upgrade searchfield

Build

  • Config Firebase:

    Edit lib/foundation/firebase/flutterfire-config.sh and change Firebase project name to your own.

    dart pub global activate flutterfire_cli
    sh lib/foundation/firebase/flutterfire-config.sh dev
    sh lib/foundation/firebase/flutterfire-config.sh prod
    

    In the interactive mode, select "iOS" only. Use space key to deselect all other options.

  • Build

    flutter build ios --release --no-codesign --flavor dev --dart-define-from-file env/dev.json -t lib/main.dart -v
    

    If stuck at "compiling, linking and signing...", check your network connection - Firebase is uploading debug symbols.

    After the build is done, you will get a build/ios/iphoneos/Boorusama-DEV.app folder.

    Last step, package the app:

    cd build/ios
    mv iphoneos Payload
    zip -ro myapp.ipa Payload
    

    Use Sideloadly or TrollStore to install the app on your device.

@VALLIS-NERIA VALLIS-NERIA linked a pull request Feb 24, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants