Как использовать Geofire с Swift для сохранения местоположения в одном симуляторе, а затем показывать местоположение в другом симуляторе.

Я использую Swift для создания iOS, чтобы делиться местоположениями. Кто-нибудь знает, как использовать Geofire с Swift, чтобы сохранить местоположение из одного симулятора, а затем показать сохраненное местоположение в другом симуляторе?

Большое спасибо.

1 ответ

Решение

Сначала попробуйте использовать кокопод, как показано ниже,

pod 'Firebase', '~>4.0'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Firebase/Storage'
pod 'GeoFire', :git => 'https://github.com/firebase/geofire-objc.git'

Используйте код ниже, чтобы установить и получить местоположение от Geofire.

struct FndDatabase {
    static let LOCATION = Database.database().reference().child("userlocation")
    static let GEO_REF = GeoFire(firebaseRef: LOCATION)
}


func setUserLocation(location: CLLocation) {
    let user = Auth.auth().currentUser?.uid //userid for the logged in user
    if let uid = user {
        FndDatabase.GEO_REF?.setLocation(location, forKey: uid)
    }
}

func getLocation() -> CLLocation? {
    var loc: CLLocation?
    if let uid = Auth.auth().currentUser?.uid {
        FndDatabase.GEO_REF?.getLocationForKey(uid, withCallback: { (location, err) in
            if err != nil {
                print( "Error getting Userlocation from Geofire \(err.debugDescription)")
            } else {
                print( "UserLocation is available \(location.debugDescription)")
                loc = location
            }
        })

    }
    return loc
}

в случае, если вы видите эту ошибку, файл "FirebaseDatabase / FirebaseDatabase.h" не найден.

затем сделайте это, выберите FirebaseDatabase.framework из модулей и свяжите его с Geofire, как показано на рисунке.

изображение Gefire с Firebase

Пример кода загружен на: https://github.com/ledwinson/firebasegeo

Образец в пожарной базе после места хранения показан ниже

Другие вопросы по тегам