Troubleshooting Guide

Here’s a detailed list of the most common issues you may encounter when turning your Base44 app into a mobile app with BuildNatively, along with their solutions.


1. Login & Authentication Issues

1.1 My login opens in Safari/Chrome instead of inside the app

  • Why it happens: Social login (Google, Apple, or Facebook) requires deep links (Universal Links/App Links) to send users back to the app after login.

  • How to fix:

    1. Enable Deep Links in BuildNatively.

    2. Turn on Social Auth in the Features section.

    3. Rebuild your app.

  • Tip: Make sure your Base44 login flow redirects users back to your main app domain.


1.2 My email/password login works in Base44 but fails in the app

  • Why it happens: Sessions can break if cookies or redirects move across different domains.

  • How to fix:

    • Check that your Base44 app is fully on HTTPS.

    • Keep login and authentication on the same domain.

    • Avoid unnecessary redirects to other subdomains.


1.3 I get stuck on a blank page after login

  • Why it happens: Post-login redirects may point to a popup/modal instead of a full page with a URL.

  • How to fix:

    • In Base44, make login and post-login screens full pages with stable URLs (e.g., /dashboard).

    • Update your redirect settings accordingly.


2. Payments & Checkout Issues

2.1 Stripe or checkout pages don’t load properly

  • Why it happens: Many payment providers require opening in the device’s browser for security.

  • How to fix:

    • Mark your checkout pages as external links in BuildNatively.

    • This ensures they open in Safari/Chrome and complete properly.


2.2 Apple/Google rejected my app because of payments

  • Why it happens: App Stores require In-App Purchases for selling digital goods or subscriptions.

  • How to fix:

    • Use BuildNatively’s In-App Purchases feature (via RevenueCat) for digital products.

    • Use Stripe/PayPal only for physical goods or real-world services.


3.1 Notifications arrive but do nothing when tapped

  • Why it happens: Notifications need a deeplink to open the correct screen.

  • How to fix:

    • Include a unique URL in your notification (e.g., /orders/123).

    • Make sure that URL exists in Base44 and loads the correct page.


3.2 Notifications open the wrong page

  • Why it happens: The deeplink doesn’t match your Base44 routing.

  • How to fix:

    • Double-check that the deeplink matches your Base44 page structure exactly.


3.3 Notifications don’t arrive at all

  • Why it happens: Push setup may be incomplete.

  • How to fix:

    • Confirm that push notifications are enabled in BuildNatively.

    • Verify that the correct configuration files (OneSignal/Firebase) are uploaded.

    • Rebuild your app after enabling push.


4. Layout & Display Issues

4.1 Some pages look broken or cut off on small screens

  • Why it happens: The Base44 layout isn’t optimized for mobile.

  • How to fix:

    • Test your Base44 app on a real phone browser.

    • Adjust layouts in Base44 (stack elements vertically, avoid wide tables).


4.2 iOS zooms in too much on forms

  • Why it happens: iOS automatically zooms when input text is too small.

  • How to fix:

    • In Base44, set input text sizes to at least 16px.


4.3 Scrolling feels broken or clunky

  • Why it happens: Nested scroll areas or heavy animations can cause problems.

  • How to fix:

    • Avoid multiple scrollable sections on the same page.

    • Reduce heavy scripts or animations.


  • Why it happens: BuildNatively treats all links as internal by default.

  • How to fix:

    • Mark these links as external in BuildNatively so they open in the device’s browser.


  • Why it happens: The link may point to a different domain or subdomain.

  • How to fix:

    • Ensure internal links use your app’s primary domain.


5.3 My bottom tab bar doesn’t work correctly

  • Why it happens: Each tab needs a valid internal URL.

  • How to fix:

    • Check that each tab links to a real Base44 page with a stable URL.


6. Media, Camera & Files

6.1 Camera or microphone don’t work

  • Why it happens: Permissions aren’t enabled.

  • How to fix:

    • In BuildNatively, enable Camera/Microphone.

    • Add clear permission descriptions (e.g., “We use your camera to upload a profile picture”).

    • Rebuild your app.


6.2 File uploads fail inside the app

  • Why it happens: Uploads may use insecure endpoints or unstable routes.

  • How to fix:

    • Make sure your upload endpoint uses HTTPS.

    • Test uploads on a full Base44 page, not a popup.


6.3 Images and videos make my app slow

  • Why it happens: Large media files increase load time.

  • How to fix:

    • Compress images and videos in Base44 before uploading.


7. Location & Permissions

7.1 Location services don’t work

  • Why it happens: Permissions are missing.

  • How to fix:

    • Enable Geolocation in BuildNatively.

    • Add a clear permission description (e.g., “We use your location to show nearby events”).

    • Rebuild and test again.


7.2 Apple rejected my app for permissions

  • Why it happens: Apple requires descriptions for each permission you request.

  • How to fix:

    • In BuildNatively, write clear, user-friendly permission explanations.

    • Example: “We use your contacts to help you invite friends to the app.”


8. Publishing Issues

8.1 Apple rejected my app for being “just a website”

  • Why it happens: Apple requires apps to have native functionality.

  • How to fix:

    • Enable at least one native feature (push notifications, deep links, native share, camera, etc.).

    • Resubmit with these features enabled.


8.2 My app icon or splash screen didn’t update

  • Why it happens: Old assets may be cached.

  • How to fix:

    • Upload the new assets in BuildNatively.

    • Rebuild your app.

    • Uninstall the old version from your phone before testing again.


8.3 My app loads slowly on startup

  • Why it happens: The Base44 homepage is too heavy.

  • How to fix:

    • Optimize images and videos.

    • Remove or delay loading of unnecessary scripts.

    • Keep your homepage lightweight.


9. Preview vs. Built App Differences

9.1 Some features don’t work in the Preview App

  • Why it happens: The Preview App does not support every native feature.

  • How to fix:

    • Use the Preview App to check layout and navigation.

    • Do a full build to test native features like notifications, deep links, and in-app purchases.


10. General Tips

  • Always use HTTPS for all assets and APIs.

  • Use stable URLs for important screens.

  • Mark checkout and external services as external links.

  • Always add clear permission descriptions.

  • Test your Base44 app on a real phone before wrapping it.

  • Rebuild your app in BuildNatively after changing native features.

11. App Store & Play Store Rejections

11.1 My app was rejected for being “just a website”

  • Why it happens: Apple requires apps to offer native value beyond a simple web wrapper.

  • How to fix:

    • Add at least one native feature in BuildNatively (push notifications, deep links, native sharing, camera, location, in-app purchases, etc.).

    • Resubmit after enabling these features.

11.2 My app was rejected for payments not using in-app purchases

  • Why it happens: Apple and Google require you to use their In-App Purchases (IAP) for digital goods, content, or subscriptions. Using Stripe or PayPal for digital items leads to rejection.

  • How to fix:

    • If you sell digital items (ebooks, lessons, access to content, memberships): enable In-App Purchases (via RevenueCat) in BuildNatively.

    • If you sell physical goods or services (clothing, coaching, bookings): you can use Stripe/PayPal.

    • Update your app and resubmit.

11.3 My app was rejected for missing permission descriptions

  • Why it happens: Apple requires clear reasons for every permission (camera, microphone, contacts, location, etc.).

  • How to fix:

    • In BuildNatively, add clear descriptions for each enabled permission.

    • Examples:

      • Camera: “We use your camera to let you upload a profile picture.”

      • Location: “We use your location to show nearby events.”

      • Microphone: “We use your microphone to let you record voice messages.”

    • Rebuild and resubmit.

  • Why it happens: Internal links may not be set up correctly, or external links weren’t marked as external.

  • How to fix:

    • Test all links inside your app.

    • Mark external links (YouTube, Stripe, Calendly, external docs) as external in BuildNatively so they open in the device browser.

    • Rebuild and resubmit.

11.5 My app was rejected for “slow loading” or “poor performance”

  • Why it happens: Your Base44 app loads too slowly on mobile devices.

  • How to fix:

    • Optimize Base44 by reducing large images, videos, and heavy scripts.

    • Keep your homepage lightweight so the app starts faster.

    • Resubmit after improving performance.

11.6 My app was rejected for “insufficient content”

  • Why it happens: Stores sometimes reject apps with little or placeholder content.

  • How to fix:

    • Make sure your Base44 app is complete and has real content (not “Coming Soon” pages).

    • Test your app end-to-end before resubmitting.

11.7 My app was rejected for “not following guidelines”

  • Why it happens: Each store has rules on content, payments, and privacy. Common issues include:

    • No privacy policy page.

    • Selling digital goods without IAP.

    • Asking for permissions without justification.

  • How to fix:

    • Add a Privacy Policy page to your Base44 app and link it in the app store listings.

    • Review Apple and Google guidelines for your type of app.

    • Rebuild and resubmit with fixes applied.


Last updated

Was this helpful?