Errores de enlace al agregar firebase framework al proyecto ios

He estado intentando agregar el marco de la Firebase a mi aplicación ios. Estaba siguiendo las instrucciones aquí: https://www.firebase.com/docs/ios-quickstart.html . Cuando trato de comstackr mi proyecto, o incluso el proyecto de plantilla de firebase, obtengo un montón de errores de linker. (Podría pegarlas aquí si alguien está interesado pero es mucho text). El marco de firebase requiere estos frameworks y me he asegurado de includelos a todos.

libicucore.dylib CFNetwork.framework Security.framework SystemConfiguration.framework 

¿Hay algún otro marco que estoy perdiendo que no estaba en la list? No tengo idea de lo que está pasando. ¡Gracias por la ayuda!


Editar: aquí están los errores

Símbolos no definidos para la architecture i386: "std :: 1 :: basic_string, std :: __ 1 :: allocator> :: compare (const car *) const", referencedo desde: leveldb :: VersionSet :: Recover () en Firebase (version_set .o) "std :: _ 1 :: _vector_base_common :: __ throw_length_error () const", referencedo de: void std :: _ 1 :: vector> :: _push_back_slow_path (leveldb :: Iterator * const &) en Firebase (db_impl.o ) void std :: _ 1 :: vector> :: _push_back_slow_path (leveldb :: DBImpl :: CompactionState :: Output const &) en Firebase (db_impl.o) void std :: _ 1 :: vector> :: _push_back_slow_path (unsigned long long const &) en Firebase (db_impl.o) void std :: _ 1 :: vector, std :: __ 1 :: allocator>> :: _push_back_slow_path const> (std :: __ 1 :: pair const &) en Firebase (db_impl.o ) std :: __ 1 :: enable_if <__ is_forward_iterator> :: value, std :: _ 1 :: _wrap_iter> :: type std :: _ 1 :: vector> :: insert> (std :: _1 :: __ wrap_iter, std :: _ 1 :: _wrap_iter, std :: _ 1 :: _wrap_iter) en Firebase (version_set.o) std :: _ 1 :: vector> :: _append (unsigned long) en Firebase (version_set.o) std :: __1 :: ena ble_if <__ is_forward_iterator :: value, void> :: tipo std :: __ 1 :: vector> :: assign (leveldb :: FileMetaData * , leveldb :: FileMetaData *) en Firebase (version_set.o) … "std :: __1 :: basic_string, std :: __ 1 :: allocator> :: __ init (char const *, unsigned long) ", referencedo desde: – [APLevelDB initWithPath: error:] en Firebase (APLevelDB.o) leveldb :: DBImpl :: NewDB () en Firebase (db_impl.o) leveldb :: Status :: ToString () const en Firebase (status.o) leveldb :: VersionSet :: WriteSnapshot (leveldb :: log :: Writer *) en Firebase (version_set.o ) leveldb :: VersionSet :: SetupOtherInputs (leveldb :: Compactación *) en Firebase (version_set.o) leveldb :: VersionSet :: Builder :: Apply (leveldb :: VersionEdit *) en Firebase (version_set.o) leveldb :: SetCurrentFile (leveldb :: Env *, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &, unsigned long long) en Firebase (filename.o) … "std :: __ 1 :: basic_string, std: : __ 1 :: allocator> :: __ init (char const *, unsigned long, unsigned long) ", referencedo desde: leveldb :: DBImpl :: DeleteObsoleteFiles () en Firebase (db_impl.o) l eveldb :: DestroyDB (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &, leveldb :: Opciones const &) en Firebase (db_impl.o) leveldb :: VersionSet :: Recuperar () en Firebase (version_set. o) leveldb :: MakeFileName (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &, unsigned long long, char const *) en Firebase (filename.o) leveldb :: DescriptorFileName (std :: __ 1: : basic_string, std :: __ 1 :: allocator> const &, unsigned long long) en Firebase (filename.o) leveldb :: CurrentFileName (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &) en Firebase ( filename.o) leveldb :: LockFileName (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &) en Firebase (filename.o) … "std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: append (char const *) ", referencedo desde: leveldb :: DBImpl :: GetProperty (leveldb :: Slice const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> *) en Firebase (db_impl.o) leveldb :: Versión :: DebugString () const en Firebase (version_set.o) leveldb :: VersionEdit :: DebugString () const en Firebase (version_edit.o) leveldb :: Ta bleBuilder :: Finish () en Firebase (table_builder.o) leveldb :: ParsedInternalKey :: DebugString () const en Firebase (dbformat.o) leveldb :: AppendNumberTo (std :: __ 1 :: basic_string, std :: __ 1 :: allocator > *, unsigned long long) en Firebase (logging.o) leveldb :: AppendEscapedStringTo (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> *, leveldb :: Slice const &) en Firebase (logging.o) … "std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: append (char const *, unsigned long)", referencedo desde: leveldb :: WriteBatchInternal :: Append (leveldb :: WriteBatch *, leveldb :: WriteBatch const *) en Firebase (write_batch.o) leveldb :: DBImpl :: DeleteObsoleteFiles () en Firebase (db_impl.o) leveldb :: DestroyDB (std :: __ 1 :: basic_string, std :: __ 1 :: allocator > const &, leveldb :: Opciones const &) en Firebase (db_impl.o) leveldb :: Estado :: ToString () const en Firebase (status.o) leveldb :: Versión :: DebugString () const en Firebase (version_set.o) leveldb :: VersionSet :: Recuperar () en Firebase (version_set.o) leveldb :: MakeFileName (std :: __ 1 :: basic_string, std :: __ 1 :: a llocator> const &, unsigned long long, char const *) en Firebase (filename.o) … "std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: assign (char const *)", referencedo desde: leveldb :: DBImpl :: GetProperty (leveldb :: Slice const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> *) en Firebase (db_impl.o) leveldb :: InternalKey :: DebugString () const en Firebase (dbformat.o) leveldb: 🙁 espacio de nombres anónimo) :: PosixEnv :: GetTestDirectory (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> *) en Firebase (env_posix.o) "std: : __ 1 :: basic_string, std :: __ 1 :: allocator> :: assign (char const *, unsigned long) ", referencedo desde: leveldb :: WriteBatchInternal :: SetContents (leveldb :: WriteBatch *, leveldb :: Slice const &) en Firebase (write_batch.o) leveldb :: DBImpl :: DoCompactionWork (leveldb :: DBImpl :: CompactState *) en Firebase (db_impl.o) leveldb :: BuildTable (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &, leveldb :: Env *, leveldb :: Opciones const &, leveldb :: TableCache *, leveldb :: Iterator *, leveldb :: FileMetaData *) en Firebase (constructor.o) le veldb :: SaveValue (void *, leveldb :: Slice const &, leveldb :: Slice const &) en Firebase (version_set.o) leveldb :: VersionSet :: WriteSnapshot (leveldb :: log :: Writer *) en Firebase (version_set.o ) leveldb :: VersionEdit :: DecodeFrom (leveldb :: Slice const &) en Firebase (version_edit.o) leveldb :: TableBuilder :: Add (leveldb :: Slice const &, leveldb :: Slice const &) en Firebase (table_builder.o). .. "std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: resize (unsigned long, char)", referencedo de: leveldb :: WriteBatch :: WriteBatch () en Firebase (write_batch.o) leveldb :: WriteBatch :: WriteBatch () en Firebase (write_batch.o) leveldb :: WriteBatch :: Clear () en Firebase (write_batch.o) leveldb :: VersionSet :: Recover () en Firebase (version_set.o) leveldb :: (espacio de nombres anónimo) :: BytewiseComparatorImpl :: FindShortestSeparator (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> *, leveldb :: Slice const &) const en Firebase (comparator.o) leveldb: 🙁 espacio de nombres anónimo) :: BytewiseComparatorImpl :: FindShortSuccessor (std :: __ 1 :: basic_string, std :: __ 1 :: allocat o> *) const en Firebase (comparator.o) leveldb :: BlockBuilder :: Add (leveldb :: Slice const &, leveldb :: Slice const &) en Firebase (block_builder.o) … "std :: __ 1 :: basic_string , std :: __ 1 :: allocator> :: push_back (char) ", referencedo de: leveldb :: WriteBatch :: Put (leveldb :: Slice const &, leveldb :: Slice const &) en Firebase (write_batch.o) leveldb :: WriteBatch :: Delete (leveldb :: Slice const &) en Firebase (write_batch.o) leveldb :: Versión :: DebugString () const en Firebase (version_set.o) leveldb :: AppendEscapedStringTo (std :: __ 1 :: basic_string, estándar: : __ 1 :: allocator> *, leveldb :: Slice const &) en Firebase (logging.o) leveldb :: EscapeString (leveldb :: Slice const &) en Firebase (logging.o) leveldb :: FilterBlockBuilder :: Finish () en Firebase (filter_block.o) "std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: basic_string (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &)", referencedo de: leveldb :: DBImpl :: DBImpl (leveldb :: Opciones const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &) en Firebase (db_impl.o) leveldb :: DBI mpl :: OpenCompactionOutputFile (leveldb :: DBImpl :: CompactionState *) en Firebase (db_impl.o) leveldb :: VersionEdit :: AddFile (int, unsigned long long, unsigned long long, leveldb :: InternalKey const &, leveldb :: InternalKey const & ) en Firebase (db_impl.o) void std :: _ 1 :: vector> :: _push_back_slow_path (leveldb :: DBImpl :: CompactionState :: Output const &) en Firebase (db_impl.o) void std :: _ 1 :: vector , std :: __ 1 :: allocator>> :: _push_back_slow_path const> (std :: __ 1 :: pair const &) en Firebase (db_impl.o) std :: _ 1 :: vector, std :: __ 1 :: allocator>> :: _swap_out_circular_buffer (std :: _ 1 :: _split_buffer, std :: __ 1 :: allocator> &> &) en Firebase (db_impl.o) leveldb :: Status :: ToString () const en Firebase (status.o). .. "std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: ~ basic_string ()", referencedo desde: – [APLevelDB initWithPath: error:] en Firebase (APLevelDB.o) – [APLevelDB dataForKey: ] en Firebase (APLevelDB.o) – [APLevelDB stringForKey:] en Firebase (APLevelDB.o) leveldb :: WriteBatch :: WriteBatch () en el nivel Firebase (write_batch.o) db :: WriteBatch :: WriteBatch () en Firebase (write_batch.o) leveldb :: WriteBatch :: ~ WriteBatch () en Firebase (write_batch.o) leveldb :: WriteBatch :: ~ WriteBatch () en Firebase (write_batch.o) … "std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: operator = (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &)", referencedo de: leveldb: : DBImpl :: NewDB () en Firebase (db_impl.o) leveldb :: DBImpl :: TEST_CompactRange (int, leveldb :: Slice const *, leveldb :: Slice const *) en Firebase (db_impl.o) leveldb :: DBImpl: : BackgroundCompaction () en Firebase (db_impl.o) leveldb :: DBImpl :: GetProperty (leveldb :: Slice const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> *) en Firebase (db_impl.o) leveldb :: VersionEdit :: AddFile (int, unsigned long long, unsigned long long, leveldb :: InternalKey const &, leveldb :: InternalKey const &) en Firebase (db_impl.o) leveldb :: VersionSet :: LogAndApply (leveldb :: VersionEdit * , leveldb :: port :: Mutex *) en Firebase (version_set.o) leveldb :: VersionSet :: WriteSnapshot (leveldb :: log :: Writer *) en Firebase (version_se t.o) … "void std :: _ 1 :: _sort &, unsigned long long *> (unsigned long long *, unsigned long long *, std :: _ 1 :: _less &)", referencedo de: leveldb :: DBImpl :: Recuperar (leveldb :: VersionEdit *) en Firebase (db_impl.o) "std :: terminate ()", referencedo de: leveldb :: WriteBatch :: WriteBatch () en Firebase (write_batch.o) leveldb :: WriteBatch: : WriteBatch () en Firebase (write_batch.o) leveldb :: SanitizeOptions (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &, leveldb :: InternalKeyComparator const *, leveldb :: InternalFilterPolicy const *, leveldb: : Opciones const &) en Firebase (db_impl.o) leveldb :: DBImpl :: DBImpl (leveldb :: Opciones const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &) en Firebase (db_impl.o) leveldb :: DBImpl :: ~ DBImpl () en Firebase (db_impl.o) leveldb :: DBImpl :: NewDB () en Firebase (db_impl.o) leveldb :: DBImpl :: MaybeIgnoreError (leveldb :: Status *) const en Firebase (db_impl.o) … "vtable for _cxxabiv1 :: _class_type_info", referencedo desde: typeinfo para leveldb :: WriteBatch :: Handler en Firebase (write_b atch.o) typeinfo para leveldb :: DB en Firebase (db_impl.o) typeinfo para leveldb :: Instantánea en Firebase (db_impl.o) typeinfo para leveldb :: Comparador en Firebase (comparator.o) typeinfo para leveldb :: Cache en Firebase (cache.o) typeinfo para leveldb :: FilterPolicy en Firebase (filter_policy.o) typeinfo para leveldb :: Env en Firebase (env.o) … NOTA: un vtable faltante generalmente significa la primera function de miembro virtual no en línea no tiene definición "vtable for _ cxxabiv1 :: _si_class_type_info", a la que se hace reference desde: typeinfo para leveldb: 🙁 espacio de nombres anónimo) :: MemTableInserter en Firebase (write_batch.o) typeinfo para leveldb :: DBImpl en Firebase (db_impl.o) typeinfo para leveldb :: DBImpl :: RecoverLogFile (unsigned long long, leveldb :: VersionEdit *, unsigned long long *) :: LogReporter en Firebase (db_impl.o) typeinfo para leveldb :: SnapshotImpl en Firebase (db_impl.o) typeinfo para leveldb :: VersionSet: : Recuperar () :: LogReporter en Firebase (version_set.o) tipoinfo para leveldb :: Versión :: LevelFileNumIterator en Firebase (version_set.o) tipoinfo para leveldb: 🙁 espacio de nombres anónimo) :: BytewiseComparatorImpl en Firebase (comparator.o). .. NOTA: un vtable faltante generalmente significa que la primera function de miembro virtual no en línea no tiene definición. "operador delete", referencedo desde: – [APLevelDB initWithPath: error:] en Firebase (APLevelDB.o) – [APLevelDB setData: forKey:] en Firebase (APLevelDB.o) – [APLevelDB setString: forKey:] en Firebase (APLevelDB .o) – [APLevelDB dataForKey:] en Firebase (APLevelDB.o) – [APLevelDB stringForKey:] en Firebase (APLevelDB.o) – [APLevelDB removeKey:] en Firebase (APLevelDB.o) – [APLevelDB commitWriteBatch:] en Firebase (APLevelDB.o) … "operador delete (void *)", referencedo desde: leveldb :: WriteBatch :: Handler :: ~ Handler () en Firebase (write_batch.o) leveldb: 🙁 espacio de nombres anónimo) :: MemTableInserter :: ~ MemTableInserter () en Firebase (write_batch.o) leveldb :: DBImpl :: DBImpl (leveldb :: Opciones const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &) en Firebase (db_impl. o) leveldb :: DBImpl :: ~ DBImpl () en Firebase (db_impl.o) leveldb :: DBImpl :: ~ DBImpl () en Firebase (db_impl.o) leveldb :: DBImpl :: DeleteObsoleteFiles () en Firebase (db_impl. o) leveldb :: DBImpl :: Recuperar (leveldb :: VersionEdit *) en Firebase (db_impl.o) … "operador nuevo [ ] (unsigned long) ", referencedo desde: leveldb :: Status :: CopyState (char const *) en Firebase (status.o) leveldb :: Status :: Status (leveldb :: Status :: Code, leveldb :: Slice const & , leveldb :: Slice const &) en Firebase (status.o) leveldb :: Estado :: Estado (leveldb :: Estado :: Código, leveldb :: Slice const &, leveldb :: Slice const &) en Firebase (status.o) leveldb :: VersionSet :: MakeInputIterator (leveldb :: Compactación *) en Firebase (version_set.o) leveldb: 🙁 espacio de nombres anónimo) :: HandleTable :: Resize () en Firebase (cache.o) leveldb :: LookupKey :: LookupKey ( leveldb :: Slice const &, unsigned long long) en Firebase (dbformat.o) leveldb :: LookupKey :: LookupKey (leveldb :: Slice const &, unsigned long long) en Firebase (dbformat.o) … "operador nuevo (unsigned largo) ", referencedo desde: leveldb :: DBImpl :: DBImpl (leveldb :: Opciones const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &) en Firebase (db_impl.o) leveldb :: DBImpl :: RecoverLogFile (unsigned long long, leveldb :: VersionEdit *, unsigned long long *) en Firebase (db_impl.o) leveldb :: DBImpl :: B ackgroundCompaction () en Firebase (db_impl.o) leveldb :: DBImpl :: OpenCompactionOutputFile (leveldb :: DBImpl :: CompactionState *) en Firebase (db_impl.o) leveldb :: DBImpl :: NewInternalIterator (leveldb :: ReadOptions const &, unsigned long long *) en Firebase (db_impl.o) leveldb :: DBImpl :: GetSnapshot () en Firebase (db_impl.o) leveldb :: DBImpl :: MakeRoomForWrite (bool) en Firebase (db_impl.o) … " _cxa_begin_catch", referencedo desde: std :: 1 :: deque> :: __ add_back_capacity () en Firebase (db_impl.o) leveldb: 🙁 espacio de nombres anónimo) :: PosixEnv :: Progtwigr (void ( ) (void ), void *) en Firebase ( env_posix.o) " _cxa_call_unexpected", referencedo desde: leveldb :: DBImpl :: DeleteObsoleteFiles () en Firebase (db_impl.o) leveldb :: DBImpl :: Recover (leveldb :: VersionEdit *) en Firebase (db_impl.o) leveldb: : DBImpl :: CleanupCompaction (leveldb :: DBImpl :: CompactState *) en Firebase (db_impl.o) leveldb :: DestroyDB (std :: 1 :: basic_string, std :: __ 1 :: allocator> const &, leveldb :: Opciones const & ) en Firebase (db_impl.o) void std :: _ 1 :: vector> :: _push_bac k_slow_path (leveldb :: DBImpl :: CompactionState :: Output const &) en Firebase (db_impl.o) void std :: _ 1 :: vector, std :: __ 1 :: allocator>> :: _push_back_slow_path const> (std :: __ 1 :: pair const &) en Firebase (db_impl.o) leveldb :: VersionEdit :: ~ VersionEdit () en Firebase (db_impl.o) … " _cxa_end_catch", referencedo de: std :: 1 :: deque> :: __ add_back_capacity () en Firebase (db_impl.o) leveldb: 🙁 espacio de nombres anónimo) :: PosixEnv :: Progtwigr (void ( ) (void ), void *) en Firebase (env_posix.o) " _cxa_pure_virtual", referencedo de: vtable para leveldb :: WriteBatch :: Handler en Firebase (write_batch.o) vtable para leveldb :: DB en Firebase (db_impl.o) vtable para leveldb :: Comparador en Firebase (comparator.o) vtable para leveldb :: Cache en Firebase (caching. o) vtable para leveldb :: FilterPolicy en Firebase (filter_policy.o) vtable para leveldb :: Env en Firebase (env.o) vtable para leveldb :: SequentialFile en Firebase (env.o) … " _cxa_rethrow", a la que se hace reference desde : std :: _ 1 :: deque> :: _add_back_capacity () en Firebase (db_impl.o) leveldb: 🙁 ano espacio de nombres nymous) :: PosixEnv :: Progtwigr (void ( ) (void ), void *) en Firebase (env_posix.o) " _gxx_personality_v0", referencedo de: Excepción enana Desenrollar información (__eh_frame) en Firebase (APLevelDB.o) Excepción enana Desbloquear información (__eh_frame) en Firebase (write_batch.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (db_impl.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (estado.o) Excepción enana Desenrollar información (__eh_frame) en Firebase ( constructor.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (version_set.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (table_cache.o) … leveldb :: WriteBatch :: WriteBatch () en Firebase (write_batch.o ) leveldb :: WriteBatch :: WriteBatch () en Firebase (write_batch.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (APLevelDB.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (write_batch.o) Excepción enana Desenrollar información ( __eh_frame) en Firebase (db_impl.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (status.o) Excepción enana Relájese I nfo (__eh_frame) en Firebase (constructor.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (version_set.o) Excepción enana Desenrollar información (__eh_frame) en Firebase (table_cache.o) … leveldb :: SanitizeOptions (std :: __1 :: basic_string, std :: __ 1 :: allocator> const &, leveldb :: InternalKeyComparator const *, leveldb :: InternalFilterPolicy const *, leveldb :: Opciones const &) en Firebase (db_impl.o) leveldb :: DBImpl :: DBImpl ( leveldb :: Opciones const &, std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const &) en Firebase (db_impl.o) leveldb :: DBImpl :: ~ DBImpl () en Firebase (db_impl.o) .. . ld: símbolo (s) no encontrado para la architecture i386 clang: error: el command linker falló con el código de salida 1 (use -v para ver la invocación)

Lo siento. Empujamos una nueva versión hoy que agregó una nueva dependencia en libc ++. Dylib. Si agrega eso, debería comstackr.

Tenga en count que también hay un problema con la compilation actual que evita la creación de arm64. Dado eso, es posible que desee utilizar la compilation anterior: https://cdn.firebase.com/ObjC/Firebase.framework-1.0.9.zip

De lo contrario espera un día más o less y obtendremos la versión más reciente.

¡Lo siento por los inconvenientes ocasionados!

Asegúrese de que ha agregado -ObjC en sus otros indicadores de enlace en la configuration de compilation. También asegúrese de que ha agregado los frameworks necesarios:

 libicucore.dylib CFNetwork.framework Security.framework SystemConfiguration.framework 

Espero que ayude.

Esto es lo que se ha mencionado en el website de la Firebase.

3) Firebase hace uso de las classs y categorías de Objective-C, por lo que deberá agregar esto en "otras banderas de vinculador" en la configuration de compilation: -ObjC