The release of iOS 13 in September 2019 and Android 10 earlier this year represent the biggest shifts in mobile app development we’ve seen in recent years. For Australian app developers, these updates bring exciting new iOS 13 features and Android 10 development capabilities, but also require significant changes to how we build and design mobile apps.

After spending the past few weeks updating client apps for both platforms, here’s what Australian mobile app developers actually need to know about dark mode implementation, privacy features, and migration strategies for iOS 13 and Android 10.

What Are the Key iOS 13 Features and Android 10 Changes?

iOS 13 features include system-wide dark mode, Sign In with Apple, improved privacy controls with “Allow Once” location permissions, SwiftUI framework, and enhanced performance. Android 10 development introduces dark theme support, scoped storage, gestural navigation, enhanced privacy controls, and improved sharing capabilities.

Both platforms prioritise user privacy and interface customisation in 2019, making dark mode implementation and privacy API updates essential for Australian mobile app developers.

Dark Mode Implementation: iOS 13 and Android 10

Both iOS 13 and Android 10 have made dark mode a system-level feature, and Australian users expect every mobile app to support it. Dark mode implementation isn’t just about inverting colours—it requires thoughtful design decisions and proper API integration.

How to Implement Dark Mode on iOS 13

iOS 13 dark mode implementation uses semantic colours that automatically adapt to user preferences. Instead of hardcoding UIColor.white, Australian iOS developers should use UIColor.systemBackground:

view.backgroundColor = .systemBackground
label.textColor = .label

The system handles the rest. When users toggle dark mode, your app adapts automatically. But here’s the catch: you need to audit every colour in your app. Custom brand colours that look great on white backgrounds might fail accessibility standards on dark backgrounds.

For apps with complex designs, you’ll define colour sets in asset catalogues with separate appearances:

  • Any Appearance (fallback)
  • Light Appearance
  • Dark Appearance

Android 10 Dark Theme Development

Android 10 dark theme development takes a similar approach with DayNight themes. For Android mobile app development in Australia, implement dark mode in your styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.DayNight">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
</style>

Define colour resources in res/values/colors.xml and res/values-night/colors.xml. The system switches automatically based on user preference.

Real-world lesson for Australian app developers: One of our Sydney-based retail apps saw a 23% increase in evening usage after implementing dark mode properly in September 2019. Australian users genuinely appreciate the option, especially when using phones outdoors in bright sunlight or during commutes in cities like Melbourne, Sydney, and Brisbane.

iOS 13 and Android 10 Privacy Features for Australian Developers

Privacy is the headline feature for both iOS 13 and Android 10 in 2019, and it has real implications for how Australian mobile app developers build apps. These privacy APIs and features are particularly important for apps handling Australian user data under privacy regulations.

iOS 13 Location Permissions: “Allow Once” Feature

The new “Allow Once” option in iOS 13 features changes location permission handling for mobile app development. Previously, users chose between “Never,” “While Using,” or “Always.” In iOS 13, Australian users can now grant one-time location access, improving privacy controls.

This means your app needs to gracefully handle permission requests on every launch. Don’t assume you have persistent location access—check permissions every time:

let locationManager = CLLocationManager()

func checkLocationAuthorization() {
    switch locationManager.authorizationStatus {
    case .authorizedWhenInUse, .authorizedAlways:
        // Proceed with location features
    case .notDetermined:
        locationManager.requestWhenInUseAuthorization()
    case .denied, .restricted:
        // Show UI explaining why location is needed
    }
}

Sign In with Apple: Mandatory iOS 13 Feature

Sign In with Apple is a mandatory iOS 13 feature for Australian app developers. If your mobile app offers third-party sign-in (Facebook, Google), you must now offer Sign In with Apple as well. This requirement applies to all new apps submitted to the App Store from September 2019.

The good news: it’s actually simpler than OAuth implementations. Apple provides email relay for users who want to hide their real email, and the authentication token is more secure than traditional OAuth flows.

For Australian apps handling sensitive data (health, finance), this is a genuine security improvement. No more relying on third-party authentication systems you don’t control.

Android 10 Scoped Storage: Critical Development Change

Android 10 scoped storage is a critical change for Android mobile app development in Australia. Scoped storage limits what files apps can access—apps can only write to their own directory and selected media files. Android developers can no longer request WRITE_EXTERNAL_STORAGE permission for everything.

This breaks a lot of existing apps. If you’re storing data in arbitrary directories, you’ll need to refactor. Use:

  • App-specific directory: Context.getExternalFilesDir()
  • Media files: MediaStore API
  • Document access: Storage Access Framework

Migration isn’t optional—Android 11 will enforce this more strictly next year.

SwiftUI in iOS 13: Should Australian Developers Adopt It?

Apple announced SwiftUI at WWDC in June 2019, and it’s genuinely exciting for iOS 13 development—declarative UI syntax, live previews, and cross-platform code for iOS, macOS, and watchOS.

But here’s the reality for Australian mobile app developers in October 2019: SwiftUI requires iOS 13 as the minimum deployment target. If you’re supporting iOS 12 (and most production apps in Australia should for at least another year), you can’t use SwiftUI for customer-facing features yet.

When to Adopt SwiftUI

Use SwiftUI for:

  • Internal tools and prototypes
  • New features in apps with iOS 13+ minimum deployment
  • Learning and experimentation

Stick with UIKit for:

  • Production apps supporting iOS 12
  • Complex UI with mature UIKit patterns
  • Apps requiring third-party libraries (most SwiftUI support isn’t there yet)

The Xcode 11 canvas is brilliant for prototyping, though. Even if you’re writing UIKit code, the live preview capability speeds up development significantly.

Mobile App Migration Strategy for iOS 13 and Android 10

Here’s the practical migration strategy that’s worked for our Australian mobile app development clients in Sydney, Melbourne, and Brisbane:

Phase 1: Dark Mode (October-November 2019)

  1. Audit all colours and define semantic colour sets
  2. Test on actual devices in both modes (simulator isn’t enough)
  3. Handle edge cases: images with transparent backgrounds, custom drawings
  4. Update app screenshots for App Store with dark mode variants

Phase 2: Privacy Updates (November 2019)

  1. Implement Sign In with Apple if using third-party auth
  2. Update location permission logic for “Allow Once”
  3. Add privacy indicators (both platforms show icons when camera/mic are active)
  4. Audit data collection and update privacy policy

Phase 3: Android Scoped Storage (December 2019-January 2020)

  1. Identify all file operations using external storage
  2. Migrate to scoped storage APIs
  3. Test thoroughly—this breaks more than you expect

Phase 4: New APIs (Ongoing)

Explore features like:

  • iOS 13: Combine framework, SF Symbols, multiple windows on iPad
  • Android 10: Gestural navigation, sharing improvements, Bubbles API

Testing Considerations

Both platforms have quirks that only surface on real devices:

iOS 13 issues we’ve hit:

  • Modal presentation style changed to card-style by default (breaks full-screen modals)
  • Some UIKit APIs deprecated with no direct replacement
  • App Store Connect now rejects apps using UIWebView (must use WKWebView)

Android 10 issues:

  • Gestural navigation conflicts with custom gesture handlers
  • Scoped storage breaks even apps claiming to be ready
  • Dark theme doesn’t automatically invert your custom views

Always test on:

  • Latest OS version
  • Previous major version (iOS 12, Android 9)
  • Actual devices, not just simulators
  • Both light and dark modes

Looking Ahead

These changes represent a fundamental shift in mobile platform expectations. Privacy is now a core feature, not an afterthought. Dark mode is becoming as expected as responsive design on the web.

For Australian app developers, this is actually good news. The bar for quality apps has risen, which means users are more willing to pay for well-designed, privacy-respecting experiences.

Action items for this month:

  1. Start dark mode implementation—users notice apps that don’t support it
  2. Review your location and data collection practices
  3. Test on iOS 13 and Android 10 devices
  4. Update App Store screenshots and metadata to highlight new features
  5. Plan your migration timeline for scoped storage on Android

The developers who adapt quickly will have a competitive advantage. Both platforms are raising standards, and that’s ultimately better for everyone building apps in Australia’s growing mobile market.

Frequently Asked Questions About iOS 13 and Android 10

What are the most important iOS 13 features for Australian app developers?

The most important iOS 13 features for Australian mobile app developers are dark mode implementation (using semantic colours), Sign In with Apple (mandatory for apps with third-party authentication), “Allow Once” location permissions, and SwiftUI framework for new iOS 13+ projects. These features impact user experience and App Store submission requirements from September 2019.

How do I implement dark mode in Android 10?

To implement dark mode in Android 10, use the DayNight theme in your styles.xml file with parent="Theme.AppCompat.DayNight". Define colour resources in res/values/colors.xml for light mode and res/values-night/colors.xml for dark mode. Android 10 automatically switches themes based on user preference without additional code.

Is Sign In with Apple mandatory for Australian apps?

Yes, Sign In with Apple is mandatory for all apps submitted to the App Store from September 2019 if they offer third-party authentication options like Facebook or Google sign-in. This applies to Australian app developers and all apps in the global App Store, regardless of target market.

What is scoped storage in Android 10 and why does it matter?

Scoped storage in Android 10 limits app access to file system directories. Apps can only write to their app-specific directory (Context.getExternalFilesDir()), access media files through MediaStore API, or use Storage Access Framework for documents. This breaks apps that previously requested WRITE_EXTERNAL_STORAGE permission and stored data in arbitrary directories. Migration is mandatory for Android 10 development.

Should I use SwiftUI for my iOS app in 2019?

In October 2019, use SwiftUI only for internal tools, prototypes, or new features in apps with iOS 13+ minimum deployment target. Stick with UIKit for production apps supporting iOS 12, complex UI with mature patterns, or apps requiring third-party libraries (most don’t support SwiftUI yet). SwiftUI is the future but not production-ready for most Australian commercial apps in 2019.

How long will it take to update my app for iOS 13 and Android 10?

Based on our experience with Australian clients in 2019, plan 4-6 weeks for a complete migration: 2-3 weeks for dark mode implementation and testing, 1-2 weeks for privacy API updates (Sign In with Apple, location permissions), and 2-3 weeks for Android 10 scoped storage migration. Complex apps with custom file handling or extensive UI may require 8-12 weeks.


Need help updating your app for iOS 13 and Android 10? We specialise in mobile app development for Australian startups and businesses in Sydney, Melbourne, Brisbane, and across Australia. Get in touch to discuss your iOS and Android development project.