问题编制的iOS 5应用程序时,与谷歌Analytics(分析)/ GANTracker
当试图安装谷歌分析和编译我的iOS 5的工程,我得到以下错误信息:问题编制的iOS 5应用程序时,与谷歌Analytics(分析)/ GANTracker
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_GANTracker", 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)
,代码将无法编译。 我的构建目标是iOS 5中,我链接下面的库:
- libsqlite3.dylib
- libz.dylib
- libGoogleAnalytics.a
- CFNetwork的
- 和GANTracker.h
和投入:
#import "GANTracker.h"
#define kGANAccountId @"UA-XXXXXXX-X"
static const NSInteger kGANDispatchPeriodSec = 10;
@implementation AppDelegate
@synthesize window = _window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[GANTracker sharedTracker] startTrackerWithAccountID:kGANAccountId
dispatchPeriod:kGANDispatchPeriodSec
delegate:nil];
NSError *error;
if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1
name:@"iPhone1"
value:@"iv1"
withError:&error]) {
// Handle error here
}
if (![[GANTracker sharedTracker] trackEvent:@"my_category"
action:@"my_action"
label:@"my_label"
value:-1
withError:&error]) {
// Handle error here
}
if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
withError:&error]) {
// Handle error here
}
任何我已经按照一切:http://code.google.com/mobile/articles/analytics_end_to_end.html
我错过了一个库或框架吗? 我正在使用Xcode版本4.3.1
如果GANTracker从您的编译源中丢失?转到您的项目设置,然后是应用程序的构建目标,然后是构建阶段,并确保所有依赖项都存在于相应的部分。
GANTracker是一个.h文件。他们可以在这里添加吗?我需要的所有框架和库都在这里...... – dvdfrddsgn 2012-03-27 20:18:52
是的,在编译源代码部分。 – JoePasq 2012-03-27 21:35:30
做到这一点,现在我得到这个错误太:警告:没有规则来处理文件“$(PROJECT_DIR)/ EVO的-STIK联盟/资源/系统配置/ GANTracker.h”型sourcecode.ch为i386硬件架构 – dvdfrddsgn 2012-03-27 21:37:43
我有同样的问题,并通过添加您添加的一切,并且还加入libGoogleAnalytics_NoThumb.a你没有提到解决它。我在这里找到:
http://code.google.com/apis/analytics/docs/mobile/download.html
如果你仍然不知道是什么原因导致您的问题,最有可能您libGoogleAnalytics库只编译为一个架构(ARM),而不是I386(对于仿真器)。
那么如何找出哪些体系结构是二进制文件的一部分呢?为此可以使用otool,例如,下面的命令(对终端):
otool libGoogleAnalytics.a -f
给我下面的输出(请注意:我创建了谷歌Analytics(分析)图书馆自己的肥二进制):
Fat headers
fat_magic 0xcafebabe
nfat_arch 3
architecture 0
cputype 7
cpusubtype 3
capabilities 0x0
offset 68
size 243208
align 2^2 (4)
architecture 1
cputype 12
cpusubtype 6
capabilities 0x0
offset 243276
size 231504
align 2^2 (4)
architecture 2
cputype 12
cpusubtype 9
capabilities 0x0
offset 474780
size 229552
align 2^2 (4)
Archive : libGoogleAnalytics.a (architecture i386)
Archive : libGoogleAnalytics.a (architecture armv6)
Archive : libGoogleAnalytics.a (architecture armv7)
在过去的3显示支持的体系结构。您可以使用lipo命令行工具创建自己的“胖”二进制文件。
只要确保CFNetwork.framework列在“与库链接二进制文件”下列出您当前目标的“构建阶段”。
这解决了我的问题。
您是否添加了CFNetwork Framework? – malinois 2012-03-27 20:09:26
是的,编辑后。 – dvdfrddsgn 2012-03-27 20:11:56
正确答案张贴在这里:[http://*.com/questions/9863336/error-message-when-linking-google-analytics-to-ios-app/10099445#10099445][1] [1]:http://*.com/questions/9863336/error-message-when-linking-google-analytics-to-ios-app/10099445#10099445 – dvdfrddsgn 2012-04-16 20:43:49