2014-12-21 12 views
18

Ich entwickle eine Fotografie-App, die das Aviary SDK verwendet und alles funktioniert perfekt, aber wir entschieden, dass Push-Benachrichtigungen in das Projekt aufgenommen werden müssen. Grundsätzlich, wenn ich das Parse-Framework einschließe, dann versuche zu bauen, bekomme ich eine Vielzahl von Fehlern.Integration von Parser-Framework mit bestehenden iOS-App einschließlich Aviary SDK

Undefined symbols for architecture armv7: 
    "_ACAccountTypeIdentifierTwitter", referenced from: 
     -[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o) 
    "_OBJC_CLASS_$_SLRequest", referenced from: 
     objc-class-ref in Parse(PF_Twitter.o) 
    "___cxa_get_exception_ptr", referenced from: 
     google_breakpadPFC_::ExceptionHandler::InstallHandler() in ParseCrashReporting(exception_handler.o) 
    "std::string::find_first_not_of(char const*, unsigned long, unsigned long) const", referenced from: 
     MacStringUtilsPFC_::IntegerValueAtIndex(std::string&, unsigned int) in ParseCrashReporting(string_utilities.o) 
    "std::string::substr(unsigned long, unsigned long) const", referenced from: 
     MacStringUtilsPFC_::IntegerValueAtIndex(std::string&, unsigned int) in ParseCrashReporting(string_utilities.o) 
    "_OBJC_CLASS_$_ACAccountStore", referenced from: 
     objc-class-ref in Parse(PF_Twitter.o) 
    "std::string::find_first_of(char const*, unsigned long, unsigned long) const", referenced from: 
     MacStringUtilsPFC_::IntegerValueAtIndex(std::string&, unsigned int) in ParseCrashReporting(string_utilities.o) 
    "___cxa_end_catch", referenced from: 
     google_breakpadPFC_::ExceptionHandler::InstallHandler() in ParseCrashReporting(exception_handler.o) 
     _BreakpadReleasePFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadAddUploadParameterPFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadCreatePFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadSetKeyValuePFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadRemoveUploadParameterPFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadGetCrashReportCountPFC_ in ParseCrashReporting(Breakpad.o) 
     ... 
    "std::string::assign(char const*, unsigned long)", referenced from: 
     MacStringUtilsPFC_::ConvertToString(__CFString const*) in ParseCrashReporting(string_utilities.o) 
    "operator delete(void*)", referenced from: 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::~IosExceptionMinidumpGeneratorPFC_() in ParseCrashReporting(ios_exception_minidump_generator.o) 
     google_breakpadPFC_::DynamicImages::DynamicImages(unsigned int) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::ReadTaskString(unsigned int, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO64>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO32>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::reserve(unsigned long) in ParseCrashReporting(dynamic_images.o) 
     std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<google_breakpadPFC_::DynamicImageRef*, std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> > >, google_breakpadPFC_::DynamicImageRef const&) in ParseCrashReporting(dynamic_images.o) 
     ... 
    "___cxa_guard_release", referenced from: 
     +[BreakpadControllerPFC_ sharedInstance] in ParseCrashReporting(BreakpadController.o) 
    "vtable for __cxxabiv1::__class_type_info", referenced from: 
     typeinfo for google_breakpadPFC_::MinidumpGenerator in ParseCrashReporting(minidump_generator.o) 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    "std::string::append(char const*, unsigned long)", referenced from: 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
    "_OBJC_CLASS_$_SLComposeViewController", referenced from: 
     objc-class-ref in Parse(PF_Twitter.o) 
    "___cxa_guard_abort", referenced from: 
     +[BreakpadControllerPFC_ sharedInstance] in ParseCrashReporting(BreakpadController.o) 
    "vtable for std::bad_alloc", referenced from: 
     google_breakpadPFC_::ExceptionHandler::InstallHandler() in ParseCrashReporting(exception_handler.o) 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    "std::string::assign(std::string const&)", referenced from: 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO64>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO32>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
     MacStringUtilsPFC_::IntegerValueAtIndex(std::string&, unsigned int) in ParseCrashReporting(string_utilities.o) 
     google_breakpadPFC_::ExceptionHandler::ExceptionHandler(std::string const&, bool (*)(void*), bool (*)(char const*, char const*, void*, bool), void*, bool, char const*) in ParseCrashReporting(exception_handler.o) 
     google_breakpadPFC_::ExceptionHandler::UpdateNextID() in ParseCrashReporting(exception_handler.o) 
    "std::bad_alloc::~bad_alloc()", referenced from: 
     google_breakpadPFC_::ExceptionHandler::InstallHandler() in ParseCrashReporting(exception_handler.o) 
    "___cxa_guard_acquire", referenced from: 
     +[BreakpadControllerPFC_ sharedInstance] in ParseCrashReporting(BreakpadController.o) 
    "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)", referenced from: 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO64>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO32>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::DynamicImage::DynamicImage(unsigned char*, unsigned long, unsigned long long, std::string, unsigned long, unsigned int, int) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
     google_breakpadPFC_::MinidumpGenerator::WriteModuleStream(unsigned int, MDRawModule*) in ParseCrashReporting(minidump_generator.o) 
    "typeinfo for std::bad_alloc", referenced from: 
     GCC_except_table22 in ParseCrashReporting(exception_handler.o) 
    "std::__throw_length_error(char const*)", referenced from: 
     std::vector<MDMemoryDescriptor, google_breakpadPFC_::PageStdAllocator<MDMemoryDescriptor> >::_M_insert_aux(__gnu_cxx::__normal_iterator<MDMemoryDescriptor*, std::vector<MDMemoryDescriptor, google_breakpadPFC_::PageStdAllocator<MDMemoryDescriptor> > >, MDMemoryDescriptor const&) in ParseCrashReporting(ios_exception_minidump_generator.o) 
     std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::reserve(unsigned long) in ParseCrashReporting(dynamic_images.o) 
     std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<google_breakpadPFC_::DynamicImageRef*, std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> > >, google_breakpadPFC_::DynamicImageRef const&) in ParseCrashReporting(dynamic_images.o) 
     std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, unsigned char const&) in ParseCrashReporting(dynamic_images.o) 
     std::vector<MDMemoryDescriptor, google_breakpadPFC_::PageStdAllocator<MDMemoryDescriptor> >::reserve(unsigned long) in ParseCrashReporting(minidump_generator.o) 
    "std::__throw_out_of_range(char const*)", referenced from: 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
    "std::string::_Rep::_M_destroy(std::allocator<char> const&)", referenced from: 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO64>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO32>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::MinidumpGenerator::GatherSystemInformation() in ParseCrashReporting(minidump_generator.o) 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
     google_breakpadPFC_::MinidumpGenerator::WriteModuleStream(unsigned int, MDRawModule*) in ParseCrashReporting(minidump_generator.o) 
     google_breakpadPFC_::DynamicImages::~DynamicImages() in ParseCrashReporting(minidump_generator.o) 
     MacStringUtilsPFC_::ConvertToString(__CFString const*) in ParseCrashReporting(string_utilities.o) 
     ... 
    "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from: 
     google_breakpadPFC_::ReadTaskString(unsigned int, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     MacStringUtilsPFC_::IntegerValueAtIndex(std::string&, unsigned int) in ParseCrashReporting(string_utilities.o) 
     BreakpadPFC_::HandleUncaughtException(NSException*) in ParseCrashReporting(Breakpad.o) 
     BreakpadPFC_::Initialize(NSDictionary*) in ParseCrashReporting(Breakpad.o) 
    "std::string::append(std::string const&)", referenced from: 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
    "___gxx_personality_sj0", referenced from: 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::IosExceptionMinidumpGeneratorPFC_(NSException*) in ParseCrashReporting(ios_exception_minidump_generator.o) 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::~IosExceptionMinidumpGeneratorPFC_() in ParseCrashReporting(ios_exception_minidump_generator.o) 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::~IosExceptionMinidumpGeneratorPFC_() in ParseCrashReporting(ios_exception_minidump_generator.o) 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::WriteCrashingContextARM(MDLocationDescriptor*) in ParseCrashReporting(ios_exception_minidump_generator.o) 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::WriteExceptionStream(MDRawDirectory*) in ParseCrashReporting(ios_exception_minidump_generator.o) 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::WriteThreadStream(unsigned int, MDRawThread*) in ParseCrashReporting(ios_exception_minidump_generator.o) 
     bool google_breakpadPFC_::MinidumpFileWriter::WriteStringCore<char>(char const*, unsigned int, MDLocationDescriptor*) in ParseCrashReporting(minidump_file_writer.o) 
     ... 
    "_SLServiceTypeTwitter", referenced from: 
     -[PF_Twitter getAccessTokenForReverseAuthAsync:localTwitterAccount:] in Parse(PF_Twitter.o) 
     -[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o) 
    "operator new[](unsigned long)", referenced from: 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::WriteThreadStream(unsigned int, MDRawThread*) in ParseCrashReporting(ios_exception_minidump_generator.o) 
     ___32-[BreakpadControllerPFC_ start:]_block_invoke in ParseCrashReporting(BreakpadController.o) 
     MacStringUtilsPFC_::ConvertToString(__CFString const*) in ParseCrashReporting(string_utilities.o) 
    "vtable for __cxxabiv1::__si_class_type_info", referenced from: 
     typeinfo for google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_ in ParseCrashReporting(ios_exception_minidump_generator.o) 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    "operator new(unsigned long)", referenced from: 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO64>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO32>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<google_breakpadPFC_::DynamicImageRef*, std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> > >, google_breakpadPFC_::DynamicImageRef const&) in ParseCrashReporting(dynamic_images.o) 
     std::vector<unsigned char, std::allocator<unsigned char> >::vector<unsigned char*>(unsigned char*, unsigned char*, std::allocator<unsigned char> const&) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::DynamicImageRef* std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::_M_allocate_and_copy<google_breakpadPFC_::DynamicImageRef*>(unsigned long, google_breakpadPFC_::DynamicImageRef*, google_breakpadPFC_::DynamicImageRef*) in ParseCrashReporting(dynamic_images.o) 
     std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, unsigned char const&) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::MinidumpGenerator::MinidumpGenerator(unsigned int, unsigned int) in ParseCrashReporting(minidump_generator.o) 
     ... 
    "___cxa_begin_catch", referenced from: 
     ___clang_call_terminate in ParseCrashReporting(ios_exception_minidump_generator.o) 
     google_breakpadPFC_::ExceptionHandler::InstallHandler() in ParseCrashReporting(exception_handler.o) 
     _BreakpadReleasePFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadAddUploadParameterPFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadCreatePFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadSetKeyValuePFC_ in ParseCrashReporting(Breakpad.o) 
     _BreakpadRemoveUploadParameterPFC_ in ParseCrashReporting(Breakpad.o) 
     ... 
    "std::string::append(unsigned long, char)", referenced from: 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
    "std::terminate()", referenced from: 
     ___clang_call_terminate in ParseCrashReporting(ios_exception_minidump_generator.o) 
    "std::string::_Rep::_S_empty_rep_storage", referenced from: 
     google_breakpadPFC_::ReadTaskString(unsigned int, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO64>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     void google_breakpadPFC_::ReadImageInfo<google_breakpadPFC_::MachO32>(google_breakpadPFC_::DynamicImages&, unsigned long long) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::MinidumpGenerator::GatherSystemInformation() in ParseCrashReporting(minidump_generator.o) 
     google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&, std::string*) in ParseCrashReporting(minidump_generator.o) 
     google_breakpadPFC_::MinidumpGenerator::WriteModuleStream(unsigned int, MDRawModule*) in ParseCrashReporting(minidump_generator.o) 
     google_breakpadPFC_::DynamicImages::~DynamicImages() in ParseCrashReporting(minidump_generator.o) 
     ... 
    "std::__throw_bad_alloc()", referenced from: 
     std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<google_breakpadPFC_::DynamicImageRef*, std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> > >, google_breakpadPFC_::DynamicImageRef const&) in ParseCrashReporting(dynamic_images.o) 
     google_breakpadPFC_::DynamicImageRef* std::vector<google_breakpadPFC_::DynamicImageRef, std::allocator<google_breakpadPFC_::DynamicImageRef> >::_M_allocate_and_copy<google_breakpadPFC_::DynamicImageRef*>(unsigned long, google_breakpadPFC_::DynamicImageRef*, google_breakpadPFC_::DynamicImageRef*) in ParseCrashReporting(dynamic_images.o) 
    "operator delete[](void*)", referenced from: 
     google_breakpadPFC_::IosExceptionMinidumpGeneratorPFC_::WriteThreadStream(unsigned int, MDRawThread*) in ParseCrashReporting(ios_exception_minidump_generator.o) 
     ___32-[BreakpadControllerPFC_ start:]_block_invoke in ParseCrashReporting(BreakpadController.o) 
     MacStringUtilsPFC_::ConvertToString(__CFString const*) in ParseCrashReporting(string_utilities.o) 
ld: symbol(s) not found for architecture armv7 

clang: error: linker command failed with exit code 1 (use -v to see invocation) 

** Ich verwende den neuesten Xcode Release und ich frage mich nur, ob es für diese Fehler ein Fix ist. Danke Alles :) **

+0

Wie haben Sie das Parse-Framework hinzugefügt? Und haben Sie alle erforderlichen Schritte ausgeführt, um sie korrekt hinzuzufügen? – EWit

+0

Ja, ich habe es richtig hinzufügen. meine anderen Linker-Flags: -Objc -all_load – KDH

Antwort

69

Ich konfrontiert die gleichen Probleme. Link zu libstdC++ 6.dylib in Build-Phasen und es wird Ihre Probleme lösen.

+3

Dies sollte als die richtige Antwort markiert werden. Vielen Dank! –

+1

Das hat geholfen. Stellen Sie außerdem sicher, dass Sie Parse auf alle anderen Ziele (d. H. Testziel) festlegen, denen Sie alle Frameworks ebenfalls zu diesen Zielen hinzufügen. – JimmyJammed

+0

das hat nicht für mich funktioniert ... Hinzufügen von Bolts.framemwork hat das Lösen für mich ... Ich entfernte libstdC++ 6.dylib, da es das Problem nicht gelöst – nsuinteger

7

Einschließlich des 'libstdC++. 6.dylib' Frameworks, wie von XIII vorgeschlagen, UND sicherstellen, dass Sie alle anderen Frameworks zu ALLEN TARGETS hinzufügen, habe es für mich repariert.

Wenn ich das Parse SDK hinzufüge, habe ich es sowohl auf mein App-Ziel als auch auf das Testziel (Komponententest) gesetzt, aber vergessen, alle Frameworks in Build-Phasen für das Testziel hinzuzufügen. Sobald ich das getan habe und das fehlende 'libstdC++. 6.dylib' Framework hinzugefügt hatte, funktionierte es für mich.