Apple's Human Interface Guidelines (apple-hig) and Google's Material Design 3 (material-design-3) are not style suggestions — Apple explicitly lists "non-standard navigation or interface" as a rejection reason in App Store Review Guideline 4.2. An Android app using iOS-style navigation (e.g., iOS-mimicking bottom tab bars styled with sharp corners and no ripple effects) will be flagged by Play reviewers as a port that hasn't been adapted for the platform. Beyond rejection risk, users on both platforms have muscle memory for platform navigation conventions — a custom navigation implementation that breaks back-swipe on iOS or back-button behavior on Android produces negative reviews and uninstalls that are directly traceable to this design failure.
High because Apple's guideline 4.2 explicitly cites non-standard navigation as a rejection reason, and platform-alien navigation patterns produce measurable user abandonment and negative reviews.
Install and use @react-navigation/native with platform-appropriate navigators — native-stack for iOS push navigation, bottom-tabs for tab bars, drawer for Android side navigation patterns.
npm install @react-navigation/native @react-navigation/native-stack \
@react-navigation/bottom-tabs react-native-screens \
react-native-safe-area-context
For Android-specific Material Design components, use react-native-paper which implements Material Design 3 tokens including ripple effects, elevation shadows, and color roles. Never substitute a custom TouchableOpacity grid for a platform tab bar — the OS accessibility layer and gesture recognizers expect the standard native components. Test navigation on physical devices on both platforms before submission.
mobile-store-readiness.store-compliance.design-guidelines-followedhigh"App uses a custom bottom tab bar that mimics iOS style on Android — should use Android Material Design navigation" or "Button text is too small, doesn't meet iOS Human Interface Guidelines minimum size"npm install @react-navigation/native @react-navigation/native-stack react-native-screens react-native-safe-area-context