ios - Mach-O linker error adding parse sdk in an existing swift project -
i'm trying add parse sdk existing project , i'm getting bunch of mach-o linker errors looks facebook references , google breakpad pfc.
i've added frameworks , followed instructions parse https://www.parse.com/apps/quickstart#parse_push/ios/swift/existing
i not using the-objc linker flag.
what doing wrong?
sample error -
"_fbtokeninformationexpirationdatekey", referenced from: -[pffacebooktokencachingstrategy cachetokeninformation:] in parsefacebookutils(pffacebooktokencachingstrategy.o) -[pffacebooktokencachingstrategy expirationdate] in parsefacebookutils(pffacebooktokencachingstrategy.o) -[pffacebooktokencachingstrategy setexpirationdate:] in parsefacebookutils(pffacebooktokencachingstrategy.o) "_fbtokeninformationtokenkey", referenced from: -[pffacebooktokencachingstrategy accesstoken] in parsefacebookutils(pffacebooktokencachingstrategy.o) -[pffacebooktokencachingstrategy setaccesstoken:] in parsefacebookutils(pffacebooktokencachingstrategy.o) "_fbtokeninformationuserfbidkey", referenced from: -[pffacebooktokencachingstrategy facebookid] in parsefacebookutils(pffacebooktokencachingstrategy.o) -[pffacebooktokencachingstrategy setfacebookid:] in parsefacebookutils(pffacebooktokencachingstrategy.o) "_objc_class_$_fbappcall", referenced from: objc-class-ref in parsefacebookutils(pffacebookauthenticationprovider.o) "_objc_class_$_fbrequest", referenced from: objc-class-ref in parsefacebookutils(pffacebookauthenticationprovider.o) "_objc_class_$_fbsdkaccesstoken", referenced from: objc-class-ref in parsefacebookutilsv4(pffacebookutils.o) objc-class-ref in parsefacebookutilsv4(pffacebookauthenticationprovider.o) "_objc_class_$_fbsdkapplicationdelegate", referenced from: objc-class-ref in parsefacebookutilsv4(pffacebookutils.o) "_objc_class_$_fbsdkloginmanager", referenced from: objc-class-ref in parsefacebookutilsv4(pffacebookauthenticationprovider.o) "_objc_class_$_fbsdksettings", referenced from: objc-class-ref in parsefacebookutilsv4(pffacebookauthenticationprovider.o) "_objc_class_$_fbsession", referenced from: objc-class-ref in parsefacebookutils(pffacebookauthenticationprovider.o) "_objc_class_$_fbsessiontokencachingstrategy", referenced from: _objc_class_$_pffacebooktokencachingstrategy in parsefacebookutils(pffacebooktokencachingstrategy.o) "_objc_metaclass_$_fbsessiontokencachingstrategy", referenced from: _objc_metaclass_$_pffacebooktokencachingstrategy in parsefacebookutils(pffacebooktokencachingstrategy.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) "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) "std::string::_rep::_m_destroy(std::allocator<char> const&)", referenced from: breakpadpfc_::handleuncaughtexception(nsexception*) in parsecrashreporting(breakpad.o) breakpadpfc_::initialize(nsdictionary*) in parsecrashreporting(breakpad.o) breakpadpfc_::generatereport(nsdictionary*) in parsecrashreporting(breakpad.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::exceptionhandler(bool (*)(void*, int, int, int, unsigned int), void*, bool) in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::~exceptionhandler() in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::updatenextid() in parsecrashreporting(exception_handler.o) ... "std::string::_rep::_s_empty_rep_storage", referenced from: breakpadpfc_::handleuncaughtexception(nsexception*) in parsecrashreporting(breakpad.o) breakpadpfc_::initialize(nsdictionary*) in parsecrashreporting(breakpad.o) breakpadpfc_::generatereport(nsdictionary*) in parsecrashreporting(breakpad.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::exceptionhandler(bool (*)(void*, int, int, int, unsigned int), void*, bool) in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::~exceptionhandler() in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::updatenextid() in parsecrashreporting(exception_handler.o) ... breakpadpfc_::handleuncaughtexception(nsexception*) in parsecrashreporting(breakpad.o) breakpadpfc_::initialize(nsdictionary*) in parsecrashreporting(breakpad.o) breakpadpfc_::generatereport(nsdictionary*) in parsecrashreporting(breakpad.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::exceptionhandler(bool (*)(void*, int, int, int, unsigned int), void*, bool) in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::~exceptionhandler() in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::updatenextid() in parsecrashreporting(exception_handler.o) ... breakpadpfc_::handleuncaughtexception(nsexception*) in parsecrashreporting(breakpad.o) breakpadpfc_::initialize(nsdictionary*) in parsecrashreporting(breakpad.o) breakpadpfc_::generatereport(nsdictionary*) in parsecrashreporting(breakpad.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::exceptionhandler(bool (*)(void*, int, int, int, unsigned int), void*, bool) in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::~exceptionhandler() in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::updatenextid() in parsecrashreporting(exception_handler.o) ... breakpadpfc_::handleuncaughtexception(nsexception*) in parsecrashreporting(breakpad.o) breakpadpfc_::initialize(nsdictionary*) in parsecrashreporting(breakpad.o) breakpadpfc_::generatereport(nsdictionary*) in parsecrashreporting(breakpad.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::exceptionhandler(bool (*)(void*, int, int, int, unsigned int), void*, bool) in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::~exceptionhandler() in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::updatenextid() in parsecrashreporting(exception_handler.o) ... breakpadpfc_::handleuncaughtexception(nsexception*) in parsecrashreporting(breakpad.o) breakpadpfc_::initialize(nsdictionary*) in parsecrashreporting(breakpad.o) breakpadpfc_::generatereport(nsdictionary*) in parsecrashreporting(breakpad.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::exceptionhandler(bool (*)(void*, int, int, int, unsigned int), void*, bool) in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::~exceptionhandler() in parsecrashreporting(exception_handler.o) google_breakpadpfc_::exceptionhandler::updatenextid() in parsecrashreporting(exception_handler.o) ... "std::string::append(char const*, unsigned long)", referenced from: google_breakpadpfc_::minidumpgenerator::uniquenameindirectory(std::string const&, std::string*) in parsecrashreporting(minidump_generator.o) "std::string::append(std::string const&)", referenced from: google_breakpadpfc_::minidumpgenerator::uniquenameindirectory(std::string const&, std::string*) in parsecrashreporting(minidump_generator.o) "std::string::append(unsigned long, char)", referenced from: google_breakpadpfc_::minidumpgenerator::uniquenameindirectory(std::string const&, std::string*) in parsecrashreporting(minidump_generator.o) "std::string::assign(char const*, unsigned long)", referenced from: macstringutilspfc_::converttostring(__cfstring const*) in parsecrashreporting(string_utilities.o) "std::string::assign(std::string const&)", referenced from: 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) 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) 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::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from: breakpadpfc_::handleuncaughtexception(nsexception*) in parsecrashreporting(breakpad.o) breakpadpfc_::initialize(nsdictionary*) in parsecrashreporting(breakpad.o) breakpadpfc_::generatereport(nsdictionary*) in parsecrashreporting(breakpad.o) macstringutilspfc_::integervalueatindex(std::string&, unsigned int) in parsecrashreporting(string_utilities.o) google_breakpadpfc_::readtaskstring(unsigned int, unsigned long long) in parsecrashreporting(dynamic_images.o) google_breakpadpfc_::utf16toutf8(std::vector<unsigned short, std::allocator<unsigned short> > const&, bool) in parsecrashreporting(string_conversion.o) "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)", referenced from: 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) 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) "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(minidump_generator.o) std::vector<mdmemorydescriptor, google_breakpadpfc_::pagestdallocator<mdmemorydescriptor> >::reserve(unsigned long) in parsecrashreporting(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<unsigned short, std::allocator<unsigned short> >::_m_fill_insert(__gnu_cxx::__normal_iterator<unsigned short*, std::vector<unsigned short, std::allocator<unsigned short> > >, unsigned long, unsigned short const&) in parsecrashreporting(string_conversion.o) "std::__throw_out_of_range(char const*)", referenced from: google_breakpadpfc_::minidumpgenerator::uniquenameindirectory(std::string const&, std::string*) in parsecrashreporting(minidump_generator.o) ld: symbol(s) not found architecture i386 clang: error: linker command failed exit code 1 (use -v see invocation)
did try add accounts.framework , social.framework project (i know parse doesn't so)? , add more details concerning error (it hard know wrong description...)
Comments
Post a Comment