A cross-platform mobile application built with .NET MAUI (.NET Multi-platform App UI) that demonstrates modern mobile development capabilities across Android, iOS, macOS, and Windows platforms.
- Framework: .NET 9.0 MAUI
- Target Platforms: Android, iOS, macOS (Mac Catalyst), Windows
- Application ID:
com.pixelplatforms.mauishowcase - Version: 1.0 (Build 1)
- Apple Developer Team: Q8SA682BCL
- Visual Studio 2022 (17.8 or later) or Visual Studio Code with C# Dev Kit
- .NET 9.0 SDK - Download here
- MAUI Workloads installed
- Android SDK (API level 21 or higher)
- Java Development Kit (JDK) 11 or later
- Android Emulator or physical Android device
- Xcode 14.0 or later
- iOS SDK 15.0 or later
- iOS Simulator or physical iOS device
- Apple Developer Account (for device deployment and App Store distribution)
# Install all MAUI workloads
dotnet workload install maui
# Or install specific platform workloads
dotnet workload install maui-android
dotnet workload install maui-ios
dotnet workload install maui-maccatalyst
dotnet workload install maui-windowsgit clone <your-repository-url>
cd mauishowcase
dotnet restore# Check installed workloads
dotnet workload list
# Check MAUI installation
dotnet new maui --help# Run on Android emulator
dotnet build -f net9.0-android
dotnet run -f net9.0-android
# Run on specific Android device
dotnet run -f net9.0-android --device <device-id># Run on iOS simulator
dotnet build -f net9.0-ios
dotnet run -f net9.0-ios
# Run on specific iOS simulator
dotnet run -f net9.0-ios --device "iPhone 15 Pro"- Open
mauishowcase.slnormauishowcase.csproj - Select target platform from the dropdown (Android/iOS/Windows/macOS)
- Choose target device (emulator/simulator or physical device)
- Click Run (F5) or Debug > Start Debugging
- Open the project folder
- Install the C# Dev Kit extension
- Use Command Palette (
Cmd+Shift+P) →.NET: Generate Assets for Build and Debug - Press
F5to run
# Build for Android
dotnet build -c Debug -f net9.0-android
# Build for iOS
dotnet build -c Debug -f net9.0-ios
# Build all platforms
dotnet build -c Debug# Build for Android (Release)
dotnet build -c Release -f net9.0-android
# Build for iOS (Release)
dotnet build -c Release -f net9.0-ios
# Build all platforms (Release)
dotnet build -c Release# Generate unsigned APK
dotnet publish -c Release -f net9.0-android
# The APK will be located at:
# bin/Release/net9.0-android/publish/# Create a keystore (first time only)
keytool -genkey -v -keystore mauishowcase.keystore -alias mauishowcase -keyalg RSA -keysize 2048 -validity 10000
# Build signed APK
dotnet publish -c Release -f net9.0-android \
-p:AndroidKeyStore=true \
-p:AndroidSigningKeyStore=mauishowcase.keystore \
-p:AndroidSigningKeyAlias=mauishowcase \
-p:AndroidSigningKeyPass=<your-key-password> \
-p:AndroidSigningStorePass=<your-store-password>- Generate signed AAB (Android App Bundle):
dotnet publish -c Release -f net9.0-android -p:AndroidPackageFormat=aab- Upload the AAB file to Google Play Console
- Follow Google Play Store submission process
# Build for iOS device
dotnet build -c Release -f net9.0-ios -p:RuntimeIdentifier=ios-arm64Prerequisites:
- Apple Developer Account ($99/year)
- App record created in App Store Connect
- Apple Distribution Certificate (not Development)
- App Store Provisioning Profile
- Bundle ID:
com.pixelplatforms.mauishowcase
Steps:
-
Create App in App Store Connect:
- Go to App Store Connect
- Create new app with bundle ID:
com.pixelplatforms.mauishowcase
-
Build for TestFlight:
# Clean and build for TestFlight
dotnet clean -f net9.0-ios -c Release
dotnet build -f net9.0-ios -c Release-
Upload Options:
Option A: Xcode Organizer (Recommended)
- Open Xcode → Window → Organizer
- Archives tab → Upload
- Select the IPA file from:
bin/Release/net9.0-ios/ios-arm64/mauishowcase.ipa
Option B: Transporter App
- Download Transporter from Mac App Store
- Sign in with Apple ID
- Drag the IPA file to upload
Option C: Command Line
xcrun altool --upload-app -f bin/Release/net9.0-ios/ios-arm64/mauishowcase.ipa \ -t ios -u your-apple-id@example.com
-
TestFlight Distribution:
- Go to App Store Connect → Your App → TestFlight
- Add internal/external testers
- Distribute build once processed
Issue: "Android SDK not found"
# Set Android SDK path
export ANDROID_HOME=/path/to/android-sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-toolsIssue: "Java not found"
# Set Java path
export JAVA_HOME=/path/to/javaIssue: "Xcode not found"
# Set Xcode developer directory
sudo xcode-select --switch /Applications/Xcode.app/Contents/DeveloperIssue: "iOS simulator not starting"
# Reset iOS simulator
xcrun simctl erase all# Clean the project
dotnet clean
# Remove bin and obj folders
rm -rf bin obj
# Restore and rebuild
dotnet restore
dotnet build# List available devices
dotnet run --help
# List Android devices
adb devices
# List iOS simulators
xcrun simctl list devices
# Check MAUI installation
dotnet workload list
# Update MAUI workloads
dotnet workload update
# Repair MAUI installation
dotnet workload repair- Basic Controls: Buttons, Labels, Entry fields, Sliders, Switches, Pickers
- Interactive Elements: Steppers, Progress bars, Activity indicators
- Layout Containers: StackLayout, Grid, FlexLayout demonstrations
- Advanced Animations:
- Rotation, scaling, fade animations
- Path following animations
- Interactive gesture-based animations (pan, pinch)
- Bouncing ball physics simulation
- Data Visualization:
- Task management with CRUD operations
- Real-time search and filtering
- Statistics and progress tracking
- Custom graphics rendering and charts
- Custom Drawing: GraphicsView with shape rendering and manipulation
- Device Information: Platform detection, device details, version info
- Basic Connectivity: Network status monitoring
- File System: Basic file operations demonstration
- Cross-Platform Deployment: iOS, Android build configurations working
-
CollectionView Advanced Features
- Pull-to-refresh functionality
- Infinite scrolling
- Custom item templates with data binding
- Grouping and headers
- Reorder and swipe actions
-
Navigation Patterns
- Master-Detail navigation
- Tab customization with badges
- Modal presentations
- Custom transitions and animations
-
Advanced Input Controls
- DatePicker and TimePicker integration
- Custom numeric input controls
- Rich text editor (if available)
- Image picker and camera integration
-
Theming & Styling
- Dark/Light mode toggle
- Custom theme switcher
- Dynamic color schemes
- Accessibility improvements (high contrast, font scaling)
-
Charts & Data Visualization
- Line charts with real-time data
- Pie charts and donut charts
- Bar charts with animations
- Custom gauge controls
-
Camera & Media
- Camera capture (photo/video)
- Photo gallery access
- Media playbook controls
- QR code scanning
-
Location Services
- GPS location access
- Map integration (if available)
- Geofencing demonstrations
- Location tracking with permissions
-
Device Hardware
- Accelerometer and gyroscope access
- Compass functionality
- Vibration/haptic feedback
- Flashlight control
- Battery status monitoring
-
Storage & Files
- Document picker integration
- Cloud storage access (iCloud, Google Drive)
- File sharing capabilities
- Local database (SQLite) integration
-
Communication
- SMS/Email composition
- Phone dialer integration
- Contacts access
- Push notifications setup
-
Security & Authentication
- Biometric authentication (TouchID, FaceID, Fingerprint)
- Secure storage demonstrations
- Keychain/Keystore access
-
Connectivity
- Bluetooth device scanning
- WiFi network information
- NFC reading (Android)
- Network speed testing
-
Platform-Specific Features
- iOS: Shortcuts integration
- iOS: Widgets (if supported)
- Android: App shortcuts
- Android: Adaptive icons
- CollectionView advanced features
- Camera and photo picker integration
- Location services basic implementation
- Dark/Light theme toggle
- Sensor access (accelerometer, gyroscope)
- Biometric authentication
- Device hardware controls (flashlight, vibration)
- Advanced charts and data visualization
- File system and cloud storage
- Communication features (SMS, email, contacts)
- Push notifications
- Platform-specific optimizations
- Accessibility improvements
- Performance optimizations
- Advanced animations and transitions
- Documentation and testing
- All major UI component categories demonstrated
- Core device capabilities accessible and working
- Cross-platform functionality verified on iOS and Android
- App Store/Play Store deployment ready
- Comprehensive documentation with code examples
- .NET MAUI Documentation
- Android Developer Guide
- iOS Developer Guide
- Google Play Console
- App Store Connect
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.
Happy coding! 🚀