using firebase geofire in IOS App - objective-c

I am to looking for a quick way to implement a dynamic location based filtering of points of interest feature in an iOS App - where a user's location continuously changes and as a result the points of interest will continuously change.
I see that firebase geofire has a similar feature but written in .js. Can you advise if this can be leveraged in an iOS App with no webviews?

GeoFire now has an Objective-C library!

Related

Is it possible to put nuxt.js (pwa or spa) in the appstore?

The truth is, since nuxt works poorly in some native access, such as accessing the file manager or sending notifications to iPhone users, I am not sure if appstore supports nuxt projects or not. That's why before I start the new project, I had a question whether it is possible to put a nuxt project in appstore or not? (If the answer is yes, please guide how to do it)
Or using something like react or react native is a better option ?
Any answer from you would be greatly appreciated
As per Apple’s App Store policy-
“Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it does not belong on the App Store.” 
So no, you can’t throw a PWA in the App Store.
Google is far more accommodating in this respect, and welcomes PWAs in the Google Play Store. They also have their own publishing guidelines, so you’d want to read up on them.
React Native is an option for both the App Store and Play Store, so I’d recommend that if you’re comfortable with it.
First off, Nuxt is a meta-framework of Vue.
Meaning that it is a superset of Vue, bringing SSR/SSG capabilities + DX features.
It's clearly not a "mobile app-frienly starter" because it's still aimed towards Web.
You could use some modules to bring mobile capabilities like this one: https://ionic.roe.dev/
Here is a video on how to use Ionic + Vue + Vite overall: https://youtu.be/-FwQ6c6OreQ
As for the PWA approach, you can use a TWA app for sure but it's quite a stretch as you can guess.
You've already asked a similar question here btw, not a lot changed since then.
Overall, if you have bigger mobile needs you can always look into webview tools (Ionic, Cordova etc), React Native, Flutter or directly into Kotlin/Swift. All of them having their own pro/cons.

Get device location periodically, even if app is killed

I can't seem to find any supporting documentation in the Expo docs or React Native docs that say whether or not this is possible, so I figured I'd ask here.
I'm creating an app that needs to periodically fetch the device's location, whether the app is in the foreground, background, but most important even if it's killed. Even a few times an hour is fine.
Do both Android and iOS even support this behaviour? And if so, can someone point me in the right direction or provide the class/API that I would need to make use of in Expo/React Native (ideally in Expo) that would allow me to fetch the device's location periodically even if the app is killed?
Thank you!
Generally speaking, yes, it should be possible.
On Android, this is generally possible using a Broadcast Reciever (and see the information there regarding getting user's location up from API 28).
On iOS, this is specifically possible using the Standard Location Service (specifically refer to the section "Getting Location Events in the Background").
Focusing on React Native, then again - focusing on Expo, there is a recent post discussing just that:
The best way of tracking location in background using react-native + Expo in 2020. However, the comments there indicate that it doesn't work consistently.
Therefore, since I understand you don't specifically require using Expo (you just say "ideally in Expo" :), you can try following this React Native tutorial (June 2021): React Native background location (background & terminated app) (it uses react-native-location library).
It seems that this could be exactly what you're looking for:
React Native — Background Location Tracking without Timeout and with App killed
https://itnext.io/react-native-background-location-tracking-without-timeout-and-with-app-killed-3dbfbc80ad01

Possible for Expo/React Native to save large amounts of encrypted data to iCloud?

I'm developing an Expo app which stores large amounts of users private data, currently only within the app. In order to allow the user to migrate their app data between devices, we need to store this in iCloud.
I'm currently unable to find documentation or article that explains how to do this.
Is it not currently possible for Expo to save data via the iCloud API?
there are some ways to save the data in the iCloud, one way you write ios native module
for iCloud API, then use it in the js. the detailed guide you can see here.
the other way is to search the third library which is used for react-native.for example:react-native-icloudstore. but it is old.
besides them, you can use CloudKit JS. use it in the native app webView.
you can go to the official site to learn it
In the end, if you can write native ios code, I suggest you use the first way. if you can not write it, you can search ios native relate library, then make your own
native module for ios

Google Awareness API on iOS

I want to know if anyone used the Google Awareness API on an iOS device. I know it's possible to implement on Android but I need to work on iOS as well, I haven't find any documentation on it so far. Is it possible and how do you implement it?
https://developers.google.com/awareness/android-api/get-started
I had done some researches on google awareness APIs for iOS. It's not available for iOS for now. You can use region monitoring APIs of Apple to register custom fences and monitor if someone enters/exits that region.
You can also notify user locally per region and engage him/her in your app. Apple provides APIs for updating user locally based on location, weather etc.
APIs are simple to use in app.
You can use the NumberEight SDK, which can do a lot more than Google's Awareness API today (although no regioning is available at the time of writing).
It performs a wide variety of context recognition tasks on both iOS and Android including:
Real-time physical activity detection
Current place categories
Motion detection
Reachability
Local weather
It can also record user context for reports and analysis via the online portal.
For example, to record user activity in iOS, you would do:
let ne = NumberEight()
ne.activityUpdated { (glimpse: Glimpse<NEXActivity>) in
let activity = glimpse.mostProbable.value
if activity.major == .running {
print("User is running!")
}
}
Here are some iOS and Android example projects, and you can sign up for free via the online portal.
Disclosure: I'm one of the developers.

What are battle tested ways to do mobile analytics in react native?

Things like in app feature usage (across iOS and Android)? Please show examples of how things have been measured if you have them.
I recommend to use a Google Analytics Bridge for react-native.
Google Analytics Bridge is built to provide an easy interface to the native Google Analytics libraries on both iOS and Android.
Why a native bridge? Why not use just JavaScript?
The key difference with the native bridge is that you get a lot of the metadata handled automatically by the Google Analytics native library. This will include the device UUID, device model, viewport size, OS version etc.
You will only have to send in a few parameteres when tracking, e.g:
const GoogleAnalytics = require('react-native-google-analytics-bridge');
GoogleAnalytics.trackScreenView('Home');
GoogleAnalytics.trackEvent('testcategory', 'testaction');