Is it possible to Flutter apps to write on iCloud/Google drive? - flutter

I am new to flutter and am trying to figure out if there is a way in flutter to write a file to iCloud (iOS) or google drive (Android). There seem to be APIs to do this in Swift/Android native dev, but I can't find anything in a flutter.
I essentially want my app to write on a text file in iCloud so that another install of the same app on a different phone by the same user can access that file. I'm trying to do this without my own cloud setup (no firebase etc, since it's so simple and small), so I thought iCloud/gDrive would be perfect.

The icloud_storage package does upload and download with iCloud.

The googleapis package provides rudimentary support for the Drive API. You'd want to use the google_sign_in for authentication as shown here.
I looked into it a while back but didn't continue due to how young it looked.
I've got no experience with iCloud so I can't really help you there, but I think you'd need to write your own platform plugin or use an HTTP API, if one exists.

I know that I'm late to the party but there is this module
https://pub.dev/packages/file_picker
I haven't used it myself but they seem to support iCloud

Related

Is it possible to gather other apps data in swift?

I'm building an web application with react-native.
In this app I need to gather some information about users.
One of them is how much time they spend on other apps installed on their phone.
I couldn't find any library for this job, so I've decided to write the native code my self.
For android, apparently there is this UsageStatsManager that can help me achieve what I want.
But when I searched for sth similar in ios, I found lots of old forums saying that this is not possible.
But I recently I saw this:
It is asking for permission to gather other apps data. SO IT IS POSSIBLE?
Any suggestion is appreciated. How am I supposed to this?
There is no API by apple itself for retrieving data of third party applications. This is called "Sandboxing" where applications are restricted from changing the device settings or retrieving/changing other apps data. Hence, why iphones are secure.
What you have shown in your screenshots is to track application data for personalised ads and such. This can be achieved using the AppTrackingTransparency framework provided by apple. You can read more about the framework here.
TL;DR - You can use AppTrackingTransparency for personalisation

How to do Remote Updates On Flutter

I have a flutter chat app. Companies like Whatsapp & Facebook update their app without forcing users to uninstall or manually uploading the APK again to google play. Is this possible with futter i tried using firebase remote config but it didn't work as i expected ( Changing UI on the go ). Any answer will be appreciated.
WhatsApp and Facebook use React Native with CodePush (if I'm not wrong).
You can't update an app without forcing a user somehow to update the app from a store with Flutter as it compiles to binary and React Native – not
There are multiple things you can do and it is based on what you want to achieve. [From your question your goal is not clear.]
Change Something based on configuration.
If you have configurations defined then you can use Firebase remote config to pass on value to devices and devices should behave according to value that you have set on Firebase Remote config.
Limitation of this approach:
In this approach, don't expect your newly updated code will into existing app. Above approach works, if code is already there in the compiled binary and you just want to switch path.
Binary version update:
If you want to force new app version download then it would require a different approach,
Android: Yes it is possible.
iOS: In-App update is not possible. You can show prompt to user by saying that new version is available and redirect user to new version on Store.
If user has enabled auto-download in iPhone settings then there are chances that app version updated to new version when user come to app.
For implementation look at here: Binary version update
Flutter now has unofficial support for code push using Chimera Flutter Code Push.
Here is a full tutorial

How to use SFSmartStore for offline data storage in native iOS application?

I am working on salesforce application. In my application, i need to store data locally for offline supporting. For this, i have seen some forums to achieve offline data storing and retrieving using sales fore smart store setup. Can anybody give some guidance how to use smart store for offline supporting.
Thanks in advance.
To use smart store you need Salesforce Mobile SDk configured (for Android OR iOS)
after that please install the account editor example and study the code in here Account Editor Example secondly,
Using StoreCache For Offline Caching tutorial explains how smartstore works.

Google Drive vs Google Doc for iOS?

I have an iOS app that uses the Google Docs List API to access and download spreadsheet data. I've done a basic test with upgrading my Google Docs account to Google Drive, and everything still seems to be working okay.
Based on the answer for this question Google Document List API and Google Drive SDK it looks like things will continue to work for awhile.
Are there any steps that mobile devs should be taking now to move to the new API? My main concern is that most of the developer docs so far are related to web apps and not mobile apps so requirements like registering for the chrome web store don't seem to fit. For example:
"Warning: Apps will not have any API access to files unless the app has been installed in Chrome Web Store. To test an app during development, you must first create a listing and install it."
Any guidance or suggestions would be appreciated.
Check this answer for the rationale behind the Chrome Web Store installation: https://stackoverflow.com/a/10476737/186674
Also, we are considering removing the installation requirement for the development and testing phase, we should have some updates soon.
iOS apps using the Documents List API should now update to using the Google Drive API and the newer Google APIs Client Library for Objective-C.
The new API and library are quite a bit easier to use and more efficient than are the older GData alternatives.

iPhone and Webapp sync through iCloud ??

just checking if its possible to sync iOS devices AND a web app through iCloud. Currently we've got an iOS app built, are looking at using iCloud for synching between all the devices and also want a web app component. iCloud would be great to use as the module to sync everything together.
Anyone know if it's possible ?
I have a similar requirement and have wondered about this too.
Unfortunately iCloud data doesn't seem to be accessible to a Web app. And if you found a hack around it, it would still be an unreliable solution as Apple could always make changes down the road that break your Web component, intentionally or not.
Edit: With CloudKit this is no longer true. It comes with a Javascript API for the explicit purpose of providing a web version of your app.
Sorry if I'm misunderstanding the question, but I was looking to add iCloud support to my web app recently and came across the official iCloud JS API. The promo text reads:
Keep your apps connected and up to date across iOS, OS X, and now on the web with CloudKit JS.
[emphasis added]
https://developer.apple.com/icloud/
It is really hard to determine what you mean.... If you are asking if you can implement iCloud in a web app, then I believe that the answer is 'no', since there is only an API for Objective-C for iCloud.
However, you might be able to embed your JS code inside of a native wrapper and write some native code for working with iCloud. However, that may or may not be an option depending on your particular situation.
Edited for spelling.
You could possibly do this, but only if
You where running your own server
The server was running on the iOS platform
You where able to create software in Objective-C for that server
You could then potentially write a server application, that could be used to connect to the iCloud API, then return the calls back to the end user as Json messages that could be consumed, perhaps by some html interface.