Ошибки компоновщика после обновления до xcode 3.2.3 для приложения iphone - PullRequest
3 голосов
/ 22 июня 2010

Я только что обновился до XCODE 3.2.3 и обновил базовый SDK с 3.0 до 3.2 iphone SDK. После этого я начал получать кучу ошибок ссылок практически без информации, вот что я получил:

".objc_class_name_CATransition", referenced from:

".objc_class_name_NSObject", referenced from:

".objc_class_name_NSFileManager", referenced from:

".objc_class_name_NSString", referenced from:

".objc_class_name_NSError", referenced from:

".objc_class_name_CABasicAnimation", referenced from:

".objc_class_name_NSOperation", referenced from:

".objc_class_name_CJSONDeserializer", referenced from:

".objc_class_name_UIWindow", referenced from:

".objc_class_name_NSException", referenced from:

".objc_class_name_UIColor", referenced from:

".objc_class_name_CATransaction", referenced from:

".objc_class_name_CLLocationManager", referenced from:

".objc_class_name_MPMoviePlayerController", referenced from:

".objc_class_name_NSMutableSet", referenced from:

".objc_class_name_UIFont", referenced from:

".objc_class_name_NSFileHandle", referenced from:

".objc_class_name_MFMailComposeViewController", referenced from:

".objc_class_name_CAKeyframeAnimation", referenced from:

".objc_class_name_UIImage", referenced from:

".objc_class_name_UIApplication", referenced from:

".objc_class_name_UILabel", referenced from:

".objc_class_name_UIView", referenced from:

".objc_class_name_CLLocation", referenced from:

".objc_class_name_NSMutableString", referenced from:

".objc_class_name_CJSONSerializer", referenced from:

".objc_class_name_NSTimer", referenced from:

".objc_class_name_NSValue", referenced from:

".objc_class_name_NSMutableData", referenced from:

".objc_class_name_NSNumber", referenced from:

"_objc_exception_match", referenced from:

".objc_class_name_UINavigationItem", referenced from:

".objc_class_name_UIViewController", referenced from:

".objc_class_name_NSMutableArray", referenced from:

".objc_class_name_UIScreen", referenced from:

".objc_class_name_NSHTTPCookieStorage", referenced from:

".objc_class_name_MKPinAnnotationView", referenced from:

".objc_class_name_NSNotificationCenter", referenced from:

"_OBJC_CLASS_$_QWAdView", referenced from:

".objc_class_name_NSProcessInfo", referenced from:

".objc_class_name_UITableViewCell", referenced from:

".objc_class_name_CAAnimationGroup", referenced from:

".objc_class_name_NSInvocation", referenced from:

".objc_class_name_NSURL", referenced from:

".objc_class_name_NSSet", referenced from:

"_objc_exception_extract", referenced from:

".objc_class_name_UISearchBar", referenced from:

".objc_class_name_NSMutableURLRequest", referenced from:

".objc_class_name_NSRunLoop", referenced from:

".objc_class_name_NSData", referenced from:

".objc_class_name_NSDate", referenced from:

".objc_class_name_UIBarButtonItem", referenced from:

".objc_class_name_UITableView", referenced from:

".objc_class_name_NSURLRequest", referenced from:

".objc_class_name_NSOperationQueue", referenced from:

".objc_class_name_UIActionSheet", referenced from:

".objc_class_name_UIDevice", referenced from:

".objc_class_name_MKMapView", referenced from:

".objc_class_name_UIToolbar", referenced from:

".objc_class_name_NSXMLParser", referenced from:

".objc_class_name_NSHTTPCookie", referenced from:

".objc_class_name_UIImageView", referenced from:

".objc_class_name_CAMediaTimingFunction", referenced from:

".objc_class_name_NSScanner", referenced from:

"_objc_exception_try_exit", referenced from:

".objc_class_name_NSDateFormatter", referenced from:

".objc_class_name_UIAccelerometer", referenced from:

"_objc_exception_try_enter", referenced from:

".objc_class_name_NSCharacterSet", referenced from:

".objc_class_name_UIScrollView", referenced from:

".objc_class_name_UIButton", referenced from:

".objc_class_name_UINavigationBar", referenced from:

".objc_class_name_UIAlertView", referenced from:

".objc_class_name_NSUserDefaults", referenced from:

".objc_class_name_NSThread", referenced from:

".objc_class_name_NSPropertyListSerialization", referenced from:

"_OBJC_CLASS_$_GANTracker", referenced from:

".objc_class_name_NSMutableDictionary", referenced from:

".objc_class_name_CALayer", referenced from:

".objc_class_name_UIWebView", referenced from:

".objc_class_name_NSBundle", referenced from:

".objc_class_name_NSURLConnection", referenced from:

".objc_class_name_NSAutoreleasePool", referenced from:

".objc_class_name_UIPageControl", referenced from:

".objc_class_name_NSAssertionHandler", referenced from:

".objc_class_name_MKAnnotationView", referenced from:

".objc_class_name_NSDictionary", referenced from:

".objc_class_name_NSLocale", referenced from:

".objc_class_name_NSArray", referenced from:

".objc_class_name_UIActivityIndicatorView", referenced from:

"_OBJC_CLASS_$_AdMobView", referenced from:

Есть идеи?

UPDATE:

Похоже, что сторонние библиотеки вызывают проблемы. К ним относятся библиотеки для admob, quattro и Google Analytics. Только admob обновил свои библиотеки, поэтому придется удалить другие

Ответы [ 5 ]

2 голосов
/ 22 июня 2010

Та же проблема. Тонны ошибок ссылок при компиляции для симулятора; устройство работает нормально.

Проверены фреймворки, как предложено Симом, но выглядело нормально.

Редактировать: Кажется, все проблемы связаны с скомпилированными сторонними библиотеками (в моем случае это библиотека Facebook Three20.a и библиотека Occipital libRedLaserSDK.a). Кто-нибудь знает, нужно ли мне использовать версии этих библиотек, перекомпилированных для 4.0, или есть другое исправление?

Edit2: И еще одна подсказка, которая предполагает, что некоторые другие постеры находятся на правильном пути: в моем списке «Группы и файлы» моего проекта все мои фреймворки выделены красным текстом. Тем не менее, если я проверяю любой из них, флажок назначения отмечен.

1 голос
/ 22 июня 2010

Я не знаю, почему это внезапно начало происходить при обновлении, но эти ошибки ссылок означают, что в вашей линии связи отсутствуют некоторые фреймворки. Было бы очень полезно увидеть полный вывод компилятора (расшифруйте стенограмму в Build Results, чтобы получить это).

Похоже, что QuartzCore, Foundation, MediaPlayer, UIKit и другие отсутствуют, основываясь на символах, которые не определены. Я понял это с помощью поиска недостающих символов (например, «NSOperation») на сайте разработчиков iPhone. Документация для каждой функции перечисляет структуру, которая определяет функцию.

0 голосов
/ 22 июня 2010

У меня была такая же проблема пару дней назад, но для меня, просто перезапустив Xcode, я смог создать свое приложение без проблем. Я понятия не имею, что вызвало это, во-первых, хотя.

0 голосов
/ 22 июня 2010

Я бы попробовал переустановить XCode.

Сначала сделайте резервную копию папки / Developer, а затем выполните эти шаги.

Из терминала используйте:

sudo /Developer/Library/uninstall-devtools --mode=all

для удаленияXCode и iPhone SDK, затем удалите папку / Developer после того, как вы это сделали, чтобы убедиться, что XCode и iPhone SDK были аккуратно удалены из вашей системы.Переустановите Xcode позже.

0 голосов
/ 22 июня 2010

Check Frameforks проверяется для новой цели сборки. Выберите UIkit.framework -> Get Info и проверьте вкладки общего назначения и целей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...