Ошибки компоновщика с ParseUI iOS и CocoaPods
Я пытался создать приложение, используя Parse, и хотел попробовать ParseUI. Я импортировал основной SDK Parse с использованием какао-бобов, и он работал нормально. Когда я решил добавить ParseUI, я столкнулся с проблемами.
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_BFTaskCompletionSource", referenced from:
objc-class-ref in PFImageView.o
"_OBJC_CLASS_$_PFProduct", referenced from:
objc-class-ref in PFProductTableViewController.o
(maybe you meant: _OBJC_CLASS_$_PFProductTableViewController)
"_OBJC_CLASS_$_PFPurchase", referenced from:
objc-class-ref in PFProductTableViewController.o
(maybe you meant: _OBJC_CLASS_$_PFPurchaseTableViewCell)
"_OBJC_CLASS_$_PFQuery", referenced from:
objc-class-ref in PFQueryTableViewController.o
(maybe you meant: _OBJC_CLASS_$_PFQueryTableViewController)
"_OBJC_CLASS_$_PFTwitterUtils", referenced from:
objc-class-ref in PFLogInViewController.o
"_OBJC_CLASS_$_PFUser", referenced from:
objc-class-ref in PFLogInViewController.o
objc-class-ref in PFSignUpViewController.o
"_PFParseErrorDomain", referenced from:
-[PFImageView loadInBackground:] in PFImageView.o
___32-[PFImageView loadInBackground:]_block_invoke30 in PFImageView.o
-[PFSignUpViewController _signUpAction] in PFSignUpViewController.o
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
-[PFImageView loadInBackground:] in PFImageView.o
___32-[PFImageView loadInBackground:]_block_invoke30 in PFImageView.o
-[PFSignUpViewController _signUpAction] in PFSignUpViewController.o
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
"_kPFErrorCacheMiss", referenced from:
___48-[PFQueryTableViewController loadObjects:clear:]_block_invoke in PFQueryTableViewController.o
"_kPFErrorInvalidEmailAddress", referenced from:
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
"_kPFErrorInvalidImageData", referenced from:
___32-[PFImageView loadInBackground:]_block_invoke30 in PFImageView.o
"_kPFErrorUnsavedFile", referenced from:
-[PFImageView loadInBackground:] in PFImageView.o
"_kPFErrorUserEmailMissing", referenced from:
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
"_kPFErrorUserEmailTaken", referenced from:
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
"_kPFErrorUserPasswordMissing", referenced from:
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
"_kPFErrorUsernameMissing", referenced from:
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
"_kPFErrorUsernameTaken", referenced from:
-[PFSignUpViewController _signUpDidFailWithError:] in PFSignUpViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я пытался что-то вроде принудительного включения Parse.framework для связывания ParseUI, но, похоже, это не помогло. Я не эксперт по Cocoapods или XCode, поэтому я не знаю, есть ли что-то очевидное, что я пропускаю.
Я пробовал кокоаподы 0,35 и 0,36-бета-1. Это быстрый проект, поэтому я не знаю, может ли это быть причиной некоторых проблем.
1 ответ
Вам нужно использовать фреймворк Bolts.frameworks. Эта структура является частью Parse SDK. Другое дело, что с последней версией Parse SDK (прямо сейчас v1.6.2) вам придется импортировать Parse/Parse.h, ParseUI/ParseUI.h или оба, в зависимости от того, какие объекты вы используете. Скажите, если вам нужна дополнительная информация об установке фреймворка de Bolts!:)