无法将新pod添加到项目中:架构i386的未定义符号

时间:2013-03-11 15:20:08

标签: ios objective-c cocoa-touch cocoapods

嗨其他溢出者,

我现在已经在这个问题上拉了一个多星期的头发,我似乎根本找不到任何东西。 我不知道为什么或如何,但有一次我的项目停止接受更多的Pod,让我解释一下。这是我的Podfile:

platform :ios, '4.3'
pod 'SVGeocoder', :git => 'https://github.com/kirualex/SVGeocoder.git'
pod 'KALayoutHelper', :git => 'https://github.com/kirualex/KALayoutHelper.git'
pod 'SBJson', '3.1.1'
pod 'AFNetworking', '0.10.1'
pod 'SDWebImage', '2.4'
pod 'SVProgressHUD'
pod 'iActiveRecord'

一切都很好用,但是这就是诀窍,只要我想添加一个新的pod(例如Flurry或Crittercism),我就会遇到同样的错误:

Undefined symbols for architecture i386: "_OBJC_CLASS_$_Crittercism", referenced from: objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

我对此非常感到沮丧,因为我已接近这个项目的结束,我目前被迫以“肮脏的旧方式”导入这些库!非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我终于找到问题所在,它与我正在使用的库(SVGeocoder,请参阅Podfile)中的一个错误的podspec文件相关联。尽管指定库的行已损坏,但podspec在进行pod更新时没有造成任何问题。我改变了:

s.framework    = 'CoreLocation, MapKit' 

s.framework    = 'CoreLocation', 'MapKit'

现在一切都恢复正常。