Неопределенная ошибка символов в Xcode 4.0.1 относительно платформы CoreLocation - PullRequest
7 голосов
/ 01 июня 2011

Я работаю над первым учебным курсом по основным данным «Местоположения».Я завершил первую часть руководства, в котором настраиваются NavigationController и TableViewController, а также добавляются вызовы CoreLocation для делегата.Когда я строю / запускаю, я получаю следующую ошибку:

Ld /Users/parradoxx/Library/Developer/Xcode/DerivedData/Locations-dbbkuqswxbvwszevbplxgtcndmeo/Build/Products/Debug-iphonesimulator/Locations.app/Locations normal i386
cd /Users/parradoxx/Projects/Locations
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/parradoxx/Library/Developer/Xcode/DerivedData/Locations-dbbkuqswxbvwszevbplxgtcndmeo/Build/Products/Debug-iphonesimulator -F/Users/parradoxx/Library/Developer/Xcode/DerivedData/Locations-dbbkuqswxbvwszevbplxgtcndmeo/Build/Products/Debug-iphonesimulator -F/Users/parradoxx/Projects/Locations -filelist /Users/parradoxx/Library/Developer/Xcode/DerivedData/Locations-dbbkuqswxbvwszevbplxgtcndmeo/Build/Intermediates/Locations.build/Debug-iphonesimulator/Locations.build/Objects-normal/i386/Locations.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework CoreLocation -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -o /Users/parradoxx/Library/Developer/Xcode/DerivedData/Locations-dbbkuqswxbvwszevbplxgtcndmeo/Build/Products/Debug-iphonesimulator/Locations.app/Locations

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_CLLocationManager", referenced from:
      objc-class-ref in RootViewController.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

Я читал похожие посты о необходимости связать инфраструктуру CoreLocation, и у меня есть - насколько мне известно.Фактически, это было в каталоге Frameworks некоторое время некоторое время.Тем не менее, я подозреваю, что это проблема с компоновщиком, и это перебирает мою голову.Где я вижу путаницу, так это ссылки на MACOS, когда это нацелено на iOS.

Я успешно использую Xcode 4 с тех пор, как он стал доступен.Это мой первый сбой с XCode, и он немного растерян.Я рад предоставить дополнительную информацию по запросу.

Ответы [ 2 ]

16 голосов
/ 05 июня 2011

Связать с CoreLocation.framework легко. В XCode4 щелкните значок своего проекта в верхней части левого столбца (навигатор проекта), чтобы найти этапы сборки в основной области. Под вкладкой Этапы сборки разверните вкладку Связать двоичные файлы с библиотеками. Нажмите на знак +, чтобы выбрать CoreLocation.framework из списка. Вот и все!

0 голосов
/ 01 декабря 2011

Щелкните правой кнопкой мыши по значку вашего проекта (xcode), затем выберите «Показать в папке». Вы найдете фреймворк с именем CoreLocation.framework, просто перетащите его в папку Frameworks в списке файлов вашего проекта (xcode). Не забудьте добавить #import и CLLocationManagerDelegate в ваш файл .h: -)

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