我正在尝试使用Cocoapods将FlurrySDK框架集成到我的应用程序中(因为我已经在使用很多框架了),但是由于某些原因,xcode一直抛出此编译错误:
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'
并且运行了pod更新,从而成功更新了Pods项目(在pod中可以看到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无法正常工作...
最佳答案
我终于发现问题出在哪里,它被链接到我正在使用的库中的有问题的podspec文件。
尽管指定库的行已损坏,但在制作pod update
时,podspec不会造成任何问题。我变了 :
s.framework = 'CoreLocation, MapKit'
至
s.framework = 'CoreLocation', 'MapKit'
(请注意单引号:是一个字符串,已编辑为两个字符串的列表),一切现在都回到了正轨。