WeChat-like application implemented with Makepad
- currently it is mostly UI screens
- actual business logic is not implemented
git clone git@github.com:makepad/makepad.git
git branch rik
cd ~/makepad
cargo install --path ./tools/cargo_makepad
git clone https://github.com/project-robius/makepad_wechat
rustup toolchain install nightly
cargo makepad android install-toolchain
Open either the Android emulator or connect to a real Android device
use adb
command to make sure there's a device connected properly
cd ~/makepad_wechat
cargo makepad android run -p makepad_wechat --release
rustup toolchain install nightly
cargo makepad apple ios install-toolchain
For iOS, the process is slightly more complicated. The steps involved are:
- Enable your iPhone's Developer Mode, please see instructions here: Enable Developer Mode
- Setup an Apple Developer account
- Setup an empty skeleton project in XCode
- File -> New -> Project to create a new "App"
- Set the Product Name as
WeChat
(used in --org later) - Set the Organization Identifier to a value of your choice, for this example we will use
rs.robius
. (used in --app later) - Setup the Project Signing & Capabilities to select the proper team account
- In XCode, Build/Run this project to install and run the app on the simulator and device
- Once the simulator and device has the "skeleton" app installed and running properly, then it is ready for Makepad to install its application.
We will run the cargo makepad apple ios
command, similar to Android build above, but there are some 3 to 4 additional parameters that need to be filled in:
--org-id
This is the value of the ApplicationIdentifierPrefix in the **.mobileprovision
file located in the ~/Library/MobileDevice/Provisioning Profiles
directory.
It should be a 10 digit alphanumeric value.
--org
First few parts of the organization identifier (which makes up the Bundle Identifier). Usually in the form of com.somecompany or org.someorg This is the same value used to setup the initial skeleton app above. For this example:
rs.robius
--app
The name of the application or the project. This is the same as the Product Name used to setup the initial skeleton app above. In this case:
--ios-version
(optional)
defaults to 17. Set it to 16 or other values if the device is not running iOS 17.
For this example, we have the Bundle Identifier of rs.robius.WeChat
cd ~/makepad_wechat
cargo makepad apple ios --org=rs.robius --app=WeChat run-sim -p makepad_wechat --release
cd ~/makepad_wechat
cargo makepad apple ios --ios-version=16 --org-id=<ORGIDVALUE> --org=rs.robius --app=WeChat run-device -p makepad_wechat --release
Coming Soon
Although it is a mobile app, Makepad cross-platform means you may run it on desktops if you wish.
cd ~/makepad_wechat
cargo run