我不知道我是如何得到这么多错误的。我将我的mac更新为Yosemite,更新了我的可可做了一个pod安装。
我感觉不好,因为有很多类似的问题,但我找不到任何看似相关的问题。我试图更新可可豆荚重新安装。删除pod文件并执行pod init,检查我的架构有armvs6,armvs7标准架构。我真的很困惑。
defined symbols for architecture i386:
"_OBJC_CLASS_$_AFHTTPRequestOperation", referenced from:
objc-class-ref in LoginController.o
"_OBJC_CLASS_$_AFHTTPRequestOperationManager", referenced from:
objc-class-ref in ChatController.o
objc-class-ref in TutorSessionViewController.o
objc-class-ref in StudentSessionManager.o
objc-class-ref in TutorSessionManager.o
objc-class-ref in Device.o
objc-class-ref in RequestHandler.o
objc-class-ref in TutorMapController.o
...
"_OBJC_CLASS_$_AFJSONRequestSerializer", referenced from:
objc-class-ref in ChatController.o
objc-class-ref in TutorSessionViewController.o
objc-class-ref in StudentSessionManager.o
objc-class-ref in TutorSessionManager.o
objc-class-ref in Device.o
objc-class-ref in RequestHandler.o
objc-class-ref in TutorMapController.o
...
"_OBJC_CLASS_$_AMTagView", referenced from:
objc-class-ref in ProfileController.o
"_OBJC_CLASS_$_APNavigationController", referenced from:
objc-class-ref in StudentSessionManager.o
objc-class-ref in TutorSessionManager.o
"_OBJC_CLASS_$_FUIButton", referenced from:
_OBJC_CLASS_$_GreenButton in GreenButton.o
_OBJC_CLASS_$_RedButton in RedButton.o
"_OBJC_CLASS_$_JSBubbleImageViewFactory", referenced from:
objc-class-ref in ChatController.o
"_OBJC_CLASS_$_JSBubbleView", referenced from:
objc-class-ref in ChatController.o
"_OBJC_CLASS_$_JSMessage", referenced from:
_OBJC_CLASS_$_TreeMessage in Treemessage.o
"_OBJC_CLASS_$_JSMessagesViewController", referenced from:
_OBJC_CLASS_$_ChatController in ChatController.o
"_OBJC_CLASS_$_NZCircularImageView", referenced from:
objc-class-ref in ChatController.o
"_OBJC_CLASS_$_PKImagePickerViewController", referenced from:
objc-class-ref in SignUpPhotoTableViewCell.o
"_OBJC_CLASS_$_RATreeView", referenced from:
objc-class-ref in SubjectViewController.o
"_OBJC_CLASS_$_RNBlurModalView", referenced from:
objc-class-ref in TutorOptions.o
objc-class-ref in ChatController.o
objc-class-ref in CHTumblrMenuView.o
objc-class-ref in SubjectAddViewController.o
"_OBJC_CLASS_$_SDImageCache", referenced from:
objc-class-ref in ProfileSetting.o
objc-class-ref in JAAppDelegate.o
"_OBJC_CLASS_$_SRHubConnection", referenced from:
objc-class-ref in JAAppDelegate.o
"_OBJC_CLASS_$_SVProgressHUD", referenced from:
objc-class-ref in TutorOptions.o
objc-class-ref in ChatController.o
objc-class-ref in JALeftViewController.o
objc-class-ref in UserProfileView.o
objc-class-ref in RequestHandler.o
objc-class-ref in TimerSessionController.o
objc-class-ref in SplashViewController.o
...
"_OBJC_CLASS_$_TWMessageBarManager", referenced from:
objc-class-ref in MessangeHandler.o
"_OBJC_METACLASS_$_FUIButton", referenced from:
_OBJC_METACLASS_$_GreenButton in GreenButton.o
_OBJC_METACLASS_$_RedButton in RedButton.o
"_OBJC_METACLASS_$_JSMessage", referenced from:
_OBJC_METACLASS_$_TreeMessage in Treemessage.o
"_OBJC_METACLASS_$_JSMessagesViewController", referenced from:
_OBJC_METACLASS_$_ChatController in ChatController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这是我的Podfile
source 'https://github.com/CocoaPods/Specs.git'
target 'StudyTree' do
pod 'JSMessagesViewController'
pod 'XHRealTimeBlur'
pod 'PKImagePicker', '~> 0.0.3'
pod 'SVProgressHUD', :head
pod 'RMStepsController', '~> 1.0.1'
pod 'TWMessageBarManager', '~> 1.7.0'
pod 'TTCounterLabel'
pod 'RATreeView', '~> 0.2.2'
pod 'AFPopupView', '~> 1.0'
pod 'AMTagListView'
pod 'RNBlurModalView', '~> 0.1.0'
pod 'BPForms'
pod 'SignalR-ObjC', :git=>'https://github.com/DyKnow/SignalR-ObjC.git', :branch => 'feature-2.0.0.beta1'
pod 'APDropDownNavToolbar', '~> 1.1'
pod 'FlatUIKit'
pod 'NZCircularImageView', '~> 0.0.4'
xcodeproj '/Users/ethankeiser/WorkSpace/test/StudyTree/StudyTree.xcodeproj'
end
修改
所以我删除了所有其他链接器标志并用$(继承)替换它,我仍然得到它。
[!] The `StudyTree [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-StudyTree/Pods-StudyTree.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The `StudyTree [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-StudyTree/Pods-StudyTree.release.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
答案 0 :(得分:23)
在构建设置中,找到"其他链接标记"。如果是粗体,选择它并按退格键,它应该恢复到正常状态。如果没有修复,请删除所有标志,然后删除并重新安装Pod。
答案 1 :(得分:1)
我有一系列非常类似的错误构建我的测试,使用OCHamcrest和OCMock,例如:
Undefined symbols for architecture i386:
"_HC_assertThatLongLongWithLocation", referenced from:
-[WNGLoggerTests test_convertToMetricMessage_constructs_a_proper_metric] in loggerTests.o
"_HC_assertThatUnsignedIntegerWithLocation", referenced from:
-[WNGLoggerTests test_timerCount_reports_the_correct_number_of_timers_in_progress] in loggerTests.o
"_OBJC_CLASS_$_OCMockObject", referenced from:
objc-class-ref in LoggingConnectionDelegateTests.o
objc-class-ref in loggerTests.o
但解决方案与我的方案不同。
在我的调查过程中,我确认安装了XCode 6.0.1命令行工具,看起来一切正常。
但是,我的解决方案是(重新)安装XCode命令行工具:
xcode-select --install
我发现使用完全相同版本的CocoaPods(0.33.1)非常有帮助,并注意xctool在我的本地环境(0.2.2)和Travis(0.2)之间的差异。
我相信我仍然在TravisCI上遇到https://github.com/facebook/xctool/issues/380,仍然有https://github.com/travis-ci/travis-ci/issues/2841开放。
请注意,在从Mavericks升级到Yosemite之前,一切都在XCode 6中正常运行。