title: integrating parse framework with existing iOS app including Aviary SDK
body: <p>I'm developing a photography app which uses the Aviary SDK and everything is working perfectly but we decided that push notifications needs to be included in the project. Basically if I include the parse framework, then try to build, I get a multitude of errors.</p>
  
  <pre><code>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&amp;, unsigned int) in ParseCrashReporting(string_utilities.o)
    "std::string::substr(unsigned long, unsigned long) const", referenced from:
        MacStringUtilsPFC_::IntegerValueAtIndex(std::string&amp;, 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&amp;, 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&lt;google_breakpadPFC_::MachO64&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO32&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::reserve(unsigned long) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::_M_insert_aux(__gnu_cxx::__normal_iterator&lt;google_breakpadPFC_::DynamicImageRef*, std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt; &gt;, google_breakpadPFC_::DynamicImageRef const&amp;) 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&amp;, 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&amp;)", referenced from:
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO64&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO32&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&amp;, std::string*) in ParseCrashReporting(minidump_generator.o)
        MacStringUtilsPFC_::IntegerValueAtIndex(std::string&amp;, unsigned int) in ParseCrashReporting(string_utilities.o)
        google_breakpadPFC_::ExceptionHandler::ExceptionHandler(std::string const&amp;, 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&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(std::string const&amp;)", referenced from:
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO64&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO32&gt;(google_breakpadPFC_::DynamicImages&amp;, 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&amp;, 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&lt;MDMemoryDescriptor, google_breakpadPFC_::PageStdAllocator&lt;MDMemoryDescriptor&gt; &gt;::_M_insert_aux(__gnu_cxx::__normal_iterator&lt;MDMemoryDescriptor*, std::vector&lt;MDMemoryDescriptor, google_breakpadPFC_::PageStdAllocator&lt;MDMemoryDescriptor&gt; &gt; &gt;, MDMemoryDescriptor const&amp;) in ParseCrashReporting(ios_exception_minidump_generator.o)
        std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::reserve(unsigned long) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::_M_insert_aux(__gnu_cxx::__normal_iterator&lt;google_breakpadPFC_::DynamicImageRef*, std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt; &gt;, google_breakpadPFC_::DynamicImageRef const&amp;) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;unsigned char, std::allocator&lt;unsigned char&gt; &gt;::_M_fill_insert(__gnu_cxx::__normal_iterator&lt;unsigned char*, std::vector&lt;unsigned char, std::allocator&lt;unsigned char&gt; &gt; &gt;, unsigned long, unsigned char const&amp;) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;MDMemoryDescriptor, google_breakpadPFC_::PageStdAllocator&lt;MDMemoryDescriptor&gt; &gt;::reserve(unsigned long) in ParseCrashReporting(minidump_generator.o)
    "std::__throw_out_of_range(char const*)", referenced from:
        google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&amp;, std::string*) in ParseCrashReporting(minidump_generator.o)
    "std::string::_Rep::_M_destroy(std::allocator&lt;char&gt; const&amp;)", referenced from:
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO64&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO32&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        google_breakpadPFC_::MinidumpGenerator::GatherSystemInformation() in ParseCrashReporting(minidump_generator.o)
        google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&amp;, 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&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, std::allocator&lt;char&gt; const&amp;)", referenced from:
        google_breakpadPFC_::ReadTaskString(unsigned int, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        MacStringUtilsPFC_::IntegerValueAtIndex(std::string&amp;, 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&amp;)", referenced from:
        google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&amp;, 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&lt;char&gt;(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&lt;google_breakpadPFC_::MachO64&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO32&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::_M_insert_aux(__gnu_cxx::__normal_iterator&lt;google_breakpadPFC_::DynamicImageRef*, std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt; &gt;, google_breakpadPFC_::DynamicImageRef const&amp;) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;unsigned char, std::allocator&lt;unsigned char&gt; &gt;::vector&lt;unsigned char*&gt;(unsigned char*, unsigned char*, std::allocator&lt;unsigned char&gt; const&amp;) in ParseCrashReporting(dynamic_images.o)
        google_breakpadPFC_::DynamicImageRef* std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::_M_allocate_and_copy&lt;google_breakpadPFC_::DynamicImageRef*&gt;(unsigned long, google_breakpadPFC_::DynamicImageRef*, google_breakpadPFC_::DynamicImageRef*) in ParseCrashReporting(dynamic_images.o)
        std::vector&lt;unsigned char, std::allocator&lt;unsigned char&gt; &gt;::_M_fill_insert(__gnu_cxx::__normal_iterator&lt;unsigned char*, std::vector&lt;unsigned char, std::allocator&lt;unsigned char&gt; &gt; &gt;, unsigned long, unsigned char const&amp;) 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&amp;, 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&lt;google_breakpadPFC_::MachO64&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        void google_breakpadPFC_::ReadImageInfo&lt;google_breakpadPFC_::MachO32&gt;(google_breakpadPFC_::DynamicImages&amp;, unsigned long long) in ParseCrashReporting(dynamic_images.o)
        google_breakpadPFC_::MinidumpGenerator::GatherSystemInformation() in ParseCrashReporting(minidump_generator.o)
        google_breakpadPFC_::MinidumpGenerator::UniqueNameInDirectory(std::string const&amp;, 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&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::_M_insert_aux(__gnu_cxx::__normal_iterator&lt;google_breakpadPFC_::DynamicImageRef*, std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt; &gt;, google_breakpadPFC_::DynamicImageRef const&amp;) in ParseCrashReporting(dynamic_images.o)
        google_breakpadPFC_::DynamicImageRef* std::vector&lt;google_breakpadPFC_::DynamicImageRef, std::allocator&lt;google_breakpadPFC_::DynamicImageRef&gt; &gt;::_M_allocate_and_copy&lt;google_breakpadPFC_::DynamicImageRef*&gt;(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)
  </code></pre>
  
  <p>**I'm using the latest xcode release and I'm just wondering if there's a fix for these errors.
  Thanks All :) **</p>