Testing on Real Devices
The web preview in Primio is great for rapid iteration, but it doesn’t catch everything. Both Apple and Google test your app on real devices during review — and “app crashes” is the #1 rejection reason on both stores. Testing on a real phone before you submit is the single most effective way to avoid rejection.
Why the web preview isn’t enough
Section titled “Why the web preview isn’t enough”The preview runs your app as a web page in an iframe. A real device runs it as a native app. These behave differently in several important ways:
| Behavior | Web preview | Real device |
|---|---|---|
| Scroll physics | Browser-style | Native bounce/overscroll |
| Keyboard | Desktop keyboard | On-screen keyboard that resizes the layout |
| Navigation | Browser back button | System back button/gesture |
| Camera/GPS | Not available | Native access |
| Performance | Your computer’s speed | Phone’s actual speed (can be much slower) |
| Notifications | Not available | Native push notifications |
| App lifecycle | Always active | Backgrounding, foregrounding, memory pressure |
| Native plugins | May not load | Full native access |
If your app uses the camera, location, sensors, or any native plugin — you must test on a real device. The preview cannot simulate these.
How to test
Section titled “How to test”The fastest way to test on Android is to build an APK in Primio and install it directly on your phone.
-
Build an APK
Go to Workspace → Publish → Android → Build APK. This takes about 10 minutes and costs 20,000 tokens.
-
Install on your device
Two options:
- QR code — Scan the QR code shown after the build completes. This downloads the APK directly to your phone.
- Download and transfer — Download the APK to your computer, then transfer it to your phone via USB, email, or cloud storage.
-
Enable “Install from unknown sources”
Your phone will prompt you to allow installation from unknown sources the first time. This is normal — APK files from outside the Play Store require this permission.
-
Open the app and start testing
Follow the testing checklist below.
iOS testing requires TestFlight, Apple’s official beta testing platform.
-
Build an IPA
Go to Workspace → Publish → iOS. Upload your .p8 key file, enter your Key ID and Issuer ID, and click Build IPA. This takes about 15 minutes and costs 40,000 tokens.
-
Upload to App Store Connect
Use Transporter on your Mac to upload the IPA file. See iOS Builds for details.
-
Set up TestFlight
In App Store Connect, go to your app → TestFlight. Add yourself as an internal tester.
-
Install on your iPhone
Download the TestFlight app from the App Store. Open the email invitation from App Store Connect and tap the link to install your app.
-
Open the app and start testing
Follow the testing checklist below.
What to test — the checklist
Section titled “What to test — the checklist”Go through each item on a real device. If any item fails, fix it in Primio, rebuild, and test again.
Core functionality
Section titled “Core functionality”- App launches without crashing — Open the app. Does it load to the first screen without errors?
- Every screen loads — Navigate to every screen in your app. No blank screens, no infinite loading spinners.
- All buttons and interactive elements work — Tap every button, toggle, dropdown, and link. Do they respond?
- Forms submit correctly — Fill in and submit every form. Does the data save? Do error messages appear for invalid input?
- Data persists — Enter some data, close the app completely, reopen it. Is your data still there?
Navigation
Section titled “Navigation”- Back button/gesture works — Use the system back button (Android) or swipe-back gesture (iOS) on every screen. You should never get stuck.
- Tab navigation works — If your app has bottom tabs or a drawer menu, tap each one. Do they all load the correct screen?
- Deep links work — If your app has any in-app links, test them all.
Layout and display
Section titled “Layout and display”- No content cut off — Check that text, images, and buttons aren’t clipped by the screen edges or hidden behind the keyboard.
- Keyboard doesn’t cover input fields — Tap a text field. When the keyboard appears, can you still see the field you’re typing in? Can you scroll to see submit buttons?
- Scrolling works — On screens with long content, scroll to the bottom. Does all content appear? No jumpy or broken scroll behavior?
- Landscape mode — Rotate your phone. Does the app handle it gracefully? (If your app is portrait-only, it should stay in portrait.)
Edge cases
Section titled “Edge cases”- No internet — Turn on airplane mode and open the app. Does it crash, or show a reasonable error?
- App backgrounding — Switch to another app, wait 30 seconds, switch back. Is your app still in the same state?
- Interruptions — Open the app, then receive a phone call or notification. After dismissing, is the app still working?
External links and content
Section titled “External links and content”- Privacy policy link works — Open Settings → Privacy Policy in your app. Does it open your actual privacy policy page?
- All external links work — Tap every link that opens a website. No 404 errors or broken pages.
If you find issues
Section titled “If you find issues”When you find something broken, reporting it clearly to Primio helps the AI fix it faster:
Be specific about what happened:
“When I tap the ‘Save’ button on the profile screen, the app crashes. This happens after filling in all three fields (name, email, bio). I’m testing on a Samsung Galaxy S23 with Android 14.”
Include context:
- Which screen you were on
- What you tapped or did right before the issue
- Whether it happens every time or intermittently
- Your device model and OS version (if relevant)
Attach a screenshot if the issue is visual — use Primio’s image attachment feature to show exactly what you see.
After fixing issues in Primio, rebuild (APK for Android, IPA for iOS) and test again. Repeat until everything works cleanly.
Next steps
Section titled “Next steps”When your app passes all the checklist items on a real device, you’re ready to submit:
- Pre-Submission Checklist — Verify you have everything the stores require
- Google Play Submission Guide
- App Store Submission Guide