[PR #3033] [MERGED] feat: support building on iOS platform #5531

Closed
opened 2026-03-23 22:19:09 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/3033
Author: @LucasXu0
Created: 7/20/2023
Status: Merged
Merged: 7/21/2023
Merged by: @LucasXu0

Base: mainHead: build_on_mobile


📝 Commits (3)

  • cae901a feat: support building on iOS simulator
  • 6b5d830 feat: add build iOS task on VSCode
  • e641ade feat: add build iOS Simulator task on VSCode

📊 Changes

18 files changed (+396 additions, -118 deletions)

View changed files

📝 frontend/.vscode/launch.json (+12 -35)
📝 frontend/.vscode/tasks.json (+31 -4)
📝 frontend/Makefile.toml (+17 -6)
📝 frontend/appflowy_flutter/integration_test/util/mock/mock_file_picker.dart (+0 -7)
📝 frontend/appflowy_flutter/ios/Flutter/AppFrameworkInfo.plist (+1 -1)
📝 frontend/appflowy_flutter/ios/Podfile (+1 -1)
📝 frontend/appflowy_flutter/ios/Podfile.lock (+134 -52)
📝 frontend/appflowy_flutter/ios/Runner.xcodeproj/project.pbxproj (+7 -4)
📝 frontend/appflowy_flutter/ios/Runner/Info.plist (+2 -0)
📝 frontend/appflowy_flutter/lib/startup/tasks/hot_key.dart (+5 -0)
frontend/appflowy_flutter/packages/appflowy_backend/ios/Classes/binding.h (+18 -0)
📝 frontend/appflowy_flutter/packages/flowy_infra_ui/android/src/main/kotlin/com/example/flowy_infra_ui/FlowyInfraUiPlugin.kt (+2 -2)
📝 frontend/appflowy_flutter/packages/flowy_infra_ui/ios/Classes/FlowyInfraUiPlugin.h (+1 -1)
📝 frontend/appflowy_flutter/packages/flowy_infra_ui/ios/Classes/FlowyInfraUiPlugin.m (+3 -3)
📝 frontend/appflowy_flutter/packages/flowy_infra_ui/ios/Classes/SwiftFlowyInfraUiPlugin.swift (+2 -2)
frontend/scripts/install_dev_env/install_ios.sh (+96 -0)
📝 frontend/scripts/makefile/flutter.toml (+9 -0)
frontend/scripts/makefile/mobile.toml (+55 -0)

📄 Description

Feature Preview

Install requirements

cargo install cargo-lipo
rustup target add aarch64-apple-ios
rustup target add aarch64-apple-ios-sim

Option 1: command lines

cd frontend/
cargo make --profile development-ios-arm64(-sim) appflowy-core-dev-ios # use development-ios-arm64-sim if running on simulator.
sh scripts/code_generation/generate.sh
cd appflowy_flutter
flutter run

Option 2: use built-in task

cd frontend
cargo make --profile development-ios-arm64 appflowy-ios-dev # for real device
cargo make --profile development-ios-arm64-sim appflowy-ios-dev # for simulator

Option 3: use VSCode task

AF-iOS-Simulator: Clean + Rebuild All. After building successfully, you can use 'build dart only' if there are no Rust code changes.
Screenshot 2023-07-21 at 14 26 52

Preview

Screenshot 2023-07-20 at 19 28 35

Notes

Please make sure your iPhone is registered on Xcode when debugging on a real device.
Screenshot 2023-07-21 at 14 19 45


PR Checklist

  • My code adheres to the AppFlowy Style Guide
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AppFlowy-IO/AppFlowy/pull/3033 **Author:** [@LucasXu0](https://github.com/LucasXu0) **Created:** 7/20/2023 **Status:** ✅ Merged **Merged:** 7/21/2023 **Merged by:** [@LucasXu0](https://github.com/LucasXu0) **Base:** `main` ← **Head:** `build_on_mobile` --- ### 📝 Commits (3) - [`cae901a`](https://github.com/AppFlowy-IO/AppFlowy/commit/cae901a12e86d436d426811e7a10427788acdf29) feat: support building on iOS simulator - [`6b5d830`](https://github.com/AppFlowy-IO/AppFlowy/commit/6b5d830d85988898df1959ae3f1e5ab919cc9f2f) feat: add build iOS task on VSCode - [`e641ade`](https://github.com/AppFlowy-IO/AppFlowy/commit/e641ade7eda2870c57f036357192d77d597b556a) feat: add build iOS Simulator task on VSCode ### 📊 Changes **18 files changed** (+396 additions, -118 deletions) <details> <summary>View changed files</summary> 📝 `frontend/.vscode/launch.json` (+12 -35) 📝 `frontend/.vscode/tasks.json` (+31 -4) 📝 `frontend/Makefile.toml` (+17 -6) 📝 `frontend/appflowy_flutter/integration_test/util/mock/mock_file_picker.dart` (+0 -7) 📝 `frontend/appflowy_flutter/ios/Flutter/AppFrameworkInfo.plist` (+1 -1) 📝 `frontend/appflowy_flutter/ios/Podfile` (+1 -1) 📝 `frontend/appflowy_flutter/ios/Podfile.lock` (+134 -52) 📝 `frontend/appflowy_flutter/ios/Runner.xcodeproj/project.pbxproj` (+7 -4) 📝 `frontend/appflowy_flutter/ios/Runner/Info.plist` (+2 -0) 📝 `frontend/appflowy_flutter/lib/startup/tasks/hot_key.dart` (+5 -0) ➕ `frontend/appflowy_flutter/packages/appflowy_backend/ios/Classes/binding.h` (+18 -0) 📝 `frontend/appflowy_flutter/packages/flowy_infra_ui/android/src/main/kotlin/com/example/flowy_infra_ui/FlowyInfraUiPlugin.kt` (+2 -2) 📝 `frontend/appflowy_flutter/packages/flowy_infra_ui/ios/Classes/FlowyInfraUiPlugin.h` (+1 -1) 📝 `frontend/appflowy_flutter/packages/flowy_infra_ui/ios/Classes/FlowyInfraUiPlugin.m` (+3 -3) 📝 `frontend/appflowy_flutter/packages/flowy_infra_ui/ios/Classes/SwiftFlowyInfraUiPlugin.swift` (+2 -2) ➕ `frontend/scripts/install_dev_env/install_ios.sh` (+96 -0) 📝 `frontend/scripts/makefile/flutter.toml` (+9 -0) ➕ `frontend/scripts/makefile/mobile.toml` (+55 -0) </details> ### 📄 Description <!--- Thank you for submitting a pull request to AppFlowy. The team will dedicate their best efforts to reviewing and approving your pull request. If you have any questions about the project or feedback for us, please join our [Discord](https://discord.gg/wdjWUXXhtw). --> <!--- If your pull request adds a new feature, please drag and drop a video into this section to showcase what you've done! If not, you may delete this section. --> ### Feature Preview #### Install requirements ```sh cargo install cargo-lipo rustup target add aarch64-apple-ios rustup target add aarch64-apple-ios-sim ``` #### Option 1: command lines ```sh cd frontend/ cargo make --profile development-ios-arm64(-sim) appflowy-core-dev-ios # use development-ios-arm64-sim if running on simulator. sh scripts/code_generation/generate.sh cd appflowy_flutter flutter run ``` #### Option 2: use built-in task ```sh cd frontend cargo make --profile development-ios-arm64 appflowy-ios-dev # for real device cargo make --profile development-ios-arm64-sim appflowy-ios-dev # for simulator ``` #### Option 3: use VSCode task AF-iOS-Simulator: Clean + Rebuild All. After building successfully, you can use 'build dart only' if there are no Rust code changes. <img width="1455" alt="Screenshot 2023-07-21 at 14 26 52" src="https://github.com/AppFlowy-IO/AppFlowy/assets/11863087/21831a81-2d7c-47b9-89fb-c3144f105964"> #### Preview <img width="513" alt="Screenshot 2023-07-20 at 19 28 35" src="https://github.com/AppFlowy-IO/AppFlowy/assets/11863087/9783591f-92ce-4880-9222-132241a6ceab"> ## Notes Please make sure your iPhone is registered on Xcode when debugging on a real device. <img width="1512" alt="Screenshot 2023-07-21 at 14 19 45" src="https://github.com/AppFlowy-IO/AppFlowy/assets/11863087/bcecd69a-d13f-4a94-8bbd-2d8ccb03ec15"> <!--- List at least one issue here that this PR addresses. If it fixes the issue, please use the [fixes](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) keyword to close the issue. For example: fixes https://github.com/AppFlowy-IO/AppFlowy/pull/2106 --> --- <!--- Before you mark this PR ready for review, run through this checklist! --> #### PR Checklist - [ ] My code adheres to the [AppFlowy Style Guide](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/submitting-code/style-guides) - [ ] I've listed at least one issue that this PR fixes in the description above. - [ ] I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes. - [ ] All existing tests are passing. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 22:19:09 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#5531
No description provided.