2013-02-28 46 views
3

我想FlurrySDK框架使用的CocoaPods我的应用程序集成(因为我已经用了很多框架,这样做),但由于某种原因Xcode中不断抛出此编译错误:FlurrySDK用的CocoaPods

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

我已经添加了这一行我Podfile:

pod 'FlurrySDK' 

,我跑了一个吊舱更新至极成功更新我的荚项目(我可以看到FlurrySDK在我的豆荚)。

我AppDelegate.m情况如下:

#import <FlurrySDK/Flurry.h> 
@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    [Flurry startSession:FLURRY_API_KEY]; 
    ... 
} 
@end 

我真的绝望了这里,我想继续我的依赖关系属于他们的地方,但它似乎FlurrySDK podspec不正常...

+0

看起来您的构建架构或其框架与armv7之间存在兼容性问题。 – 2013-02-28 14:59:07

+0

我在新建项目中构建了它,并且它已正确安装并链接。你可能想确保你的宝石是最新的。 '[sudo]宝石更新' – 2013-02-28 15:05:44

+0

@KeithSmiley,我尝试了宝石更新,然后pod更新但没有更改。这真的很奇怪,因为自动完成适用于导入,甚至SDK方法,但是一旦我启动编译,仍然是同样的错误... – Kirualex 2013-03-01 11:56:18

回答

2

我终于找到问题所在,它与我使用的库中的错误podspec文件相关联。 尽管指定库的行已损坏,但podspec在制作pod update时未造成任何问题。我改变:

s.framework = 'CoreLocation, MapKit' 

s.framework = 'CoreLocation', 'MapKit' 

(注意单引号:是一个字符串,编辑成两个字符串的列表),一切都现在回到正轨。

+0

哪个podspec文件在这里? – 2013-05-14 18:21:00

+0

这是我自己创建的一个项目,我分叉了一个项目(SVGeocoder),但我停止使用它。 – Kirualex 2013-05-15 08:44:52