Flutter: Fetch Geo-location in the background - dart

i need my app to send the current location over to an API in the background ,specifically when the app is closed. I found that there are restrictions as to how it can be implemented for IOS. Is there any solution in flutter to implement this for both platforms?

So far i have found a plugin that works in the background - except is it not free.
flutter_background_geolocation 1.7.3
https://pub.dev/packages/flutter_background_geolocation
It does exactly what you would want - work in the background for both platforms, you can use it in development for free, but when you launch the app - you need to pay for it (Android platform).

Related

Can I migrate a Flutter app to a native iOS app?

Myself and a team are starting a potential startup and one of the things we want to do is a mobile app. We have already identified the target audience to mainly be iPhone users. But here in the US there's still plenty of Android user so we've been considering using a cross platform framework like Flutter. I've seen a lot of praise that Flutter is easy to use and can help us deliver an MVP faster. My ideal situation is to start developing with Flutter and when the app is successful migrate it to a native iOS app using Swift. But is that possible at all? Or if we decide to go native when we already have a flutter app, do we need to start from scratch?
Developing a Flutter app is completely different from developing an Android or iOS app. It has different language, has it's own architechture with it's own packages/dependencies/plugins.
You cannot convert from one of them to the other.

Deploying app for personal use on iOS device

I want to build a very simple gallery like app (which uses the Telegram bot API to fetch images from certain telegram channel). I want to have this app for both Android and iOS device. I guess either progressive web app or flutter could be used to achieve this. I have developed native android apps before, and wish to learn PWA or flutter along with this project.
So my question is, can I deploy this app to my iOS device without enrolling in the Apple developer program? Since this is only for personal use and I do not wish to publish this app on any app store. Also, do I need to have a Mac with Xcode to do this?!
Thanks in advance!
For developing a Progressive Web App for iOS, you won't need Xcode and a Macbook since it is basically still a website with enhancements. However, bear in mind that PWA support on iOS is very limited. Android has much better PWA support.
This article gives an overview of what is currently possible

Create an app for apple watch with flutter?

I started developing a Bluetooth Low energy application on flutter with android studio ( Windows). As i heard flutter allows to create app for android as well as iOS, I'd like to install my app on an apple watch. But my research got me thinking that this feature was not available yet:
https://github.com/flutter/flutter/issues/2056
https://www.reddit.com/r/FlutterDev/comments/9fryg2/does_flutter_work_on_apple_watch/
So, as I need to develop this app for professionnal need and already coded my app on Flutter, I'd want to be sure that it's not possible or if some solutions exist.

Is it possible to convert angularjs web application to IOS app with Ibeacon search functionality?

I have developed a web application using angularjs, now i want to convert ios application with iBeacons device searching functionality.
Is it possible to do this, any one please give me advice on this?
Yes this is possible, you can repurpose your Angular single page app into a Cordova/PhoneGap container, then use appropriate plugins (which bridge platform specific native code to Javascript) to add iBeacon or other beacon support. If you don't find plugins that do what you want, you can create your own if you are comfortable working in the native languages of the platforms you want to use (Java for Android, Objective C or Swift for iOS).
Example plugins that already exist to help with this would be:
cordova-plugin-ibeacon
ngCordova Cordova Beacon
There's an example of how to go about this using Angular JS / Ionic framework here.
There is no way to directly scan for beacons in JavaScript. This is true whether you are talking about a web app running in Mobile Safari on iOS or inside a UIWebView container within a native iOS Web app.
If you want to combine JavaScript-based apps with beacons, the alternative is to build Hybrid apps using technologies like Cordova or Ionic (which is built off of Cordova). You can then use Cordova plugins that let you interact with native code that does the beacon scanning, and pass it back to your JavaScript application. One such plugin that accomplishes this is here:
https://github.com/petermetz/cordova-plugin-ibeacon
There are limitations with this approach. Beacon scanning typically has to be in the foreground, and you can't really wake up the app on beacon detection.
Full disclosure: I am the lead developer on the Android Beacon Library open source project upon which the above plugin is based.

webRTC-enabled browser for iOS?

Preface: there are questions (some good, some bad) already in existance on StackOverflow about webRTC support on various browsers and platforms, including iOS. However I couldn't find anything definitive that was more recent than ~2012, and this is a rapidly-changing field.
I'm working on a browser-based webapp that uses webRTC for minimal-latency peer-to-peer data transfer (not for audio/video, unlike most applications it would seem - all I need is DataChannel).
I hit a snag when I started testing the data-transfer part of the project and discovered that iOS devices still don't natively support this in their built-in browsers (despite some recent rumors).
Bowser is a free open-source browser App for iOS that purports to support webRTC on iOS. The problem is that when I try to open the app, it simply crashes and closes. I've tested this on an iPhone 5 and 5s. Googling has failed to turn up alternatives - even Chrome for iOS doesn't currently support webRTC it seems.
My questions:
1) Are there alternative browsers (even iOS-version restricted) that are currently supporting webRTC, or is there anything promising coming down the pipeline?
2) Does Bowser actually work (webRTC) on iOS devices where it doesn't crash immediately upon launch?
3) What strategies have other people used to work around this limitation?
As of iOS 11, WebRTC is now supported in Safari: https://developer.apple.com/library/archive/releasenotes/General/WhatsNewInSafari/Articles/Safari_11_0.html#//apple_ref/doc/uid/TP40014305-CH13-SW1
Check out crosswalk project ( https://crosswalk-project.org )
This Provides runtime of Chromium engine for native support in older devices.
1) Are there alternative browsers (even iOS-version restricted) that are currently supporting webRTC, or is there anything promising coming down the pipeline?
Answer:
There is a Browser called Bowser that supports webRTC.
2) Does Bowser actually work (webRTC) on iOS devices where it doesn't crash immediately upon launch?
Answer:
It's not crashing as of now.But I couldn't successfully test with anything so far.I have raised an issue about it
3) What strategies have other people used to work around this limitation?
Answer:
Apple is yet to support WebRTC in Webkit so as of now the only way would be develop a native or Hybrid app that would support the unsupported WebRTC APIs.
You can develop a hybrid app powered by OpenWebRTC or cordova-plugin-iosrtc

Resources