I’m just starting with Flutter development and need help with cloud file storage.
I want to create a Flutter app that can save text files directly to cloud services. For iOS devices, I’d like to use iCloud storage, and for Android devices, I want to use Google Drive.
I know that native iOS and Android development have built-in APIs for this kind of functionality, but I haven’t been able to find similar capabilities in Flutter.
My specific use case:
I need my Flutter app to create and save a simple text document to the user’s cloud storage. The goal is that when the same user installs my app on another device, they can access that same file.
I’m hoping to avoid setting up my own backend or using services like Firebase since this is a basic requirement. Using the built-in cloud storage that users already have seems like the most straightforward approach.
Has anyone successfully implemented this kind of cloud file writing functionality in Flutter? Are there any packages or methods that work well for this?
You’ll hit roadblocks with this approach. The googleapis package handles Google Drive but needs tons of OAuth setup and permission management. For iCloud, there’s no Flutter plugin that comes close to native development experience. I built something similar last year - while it’s technically possible, the UX is terrible. Users authenticate with Google Drive every single time, and iCloud support doesn’t exist through Flutter plugins. The path_provider package only gives local storage, not cloud sync. I’d reconsider Firebase or another cross-platform solution. I know you want to avoid it, but the time saved and reliability you get make it worth it. Native cloud storage through Flutter isn’t ready for production apps yet.
I ran into this exact problem building a note-taking app six months ago. Flutter doesn’t have direct access to iCloud and Google Drive APIs like native apps do - super frustrating at first. I ended up using the path_provider package with platform-specific code. For Android, I hit Google Drive’s API directly with HTTP requests using the googleapis package. Fair warning though - OAuth authentication is a pain to set up. iCloud’s even trickier since Apple locks down third-party access to public APIs. You’re stuck with just the app’s iCloud container using iOS-specific code. I eventually just went with cloud_firestore and Firebase because managing separate cloud storage for each platform was a nightmare. Sure, it’s not exactly like native cloud storage, but it’s way more reliable and works across platforms. If you absolutely need native integration, you’ll have to write platform channels to bridge Flutter with native iOS and Android stuff.
Honestly mate, you’re gonna have a tough time with this. I tried something similar for my app last year and it was a mess. Google Drive integration sorta works but users get confused with all the permission prompts. iCloud’s basically impossible without going native. Maybe try the file_picker plugin with share functionality? Not exactly what you want but at least users can manually save to their preferred cloud service. Sometimes the simple approach beats fighting platform limitations.