2013-02-28 62 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