我在我的新Swift 2.0项目中使用谷歌的一些外部代码,在早期版本中需要"libz.dylib".更新到新的XCode /新SDK后.
XCode现在无法导入libz.dylib并抛出一些错误
架构i386的未定义符号:"_ deflate",引用自:+ [GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)"_ deflateEnd"中,引自:+ [GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel: mode:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)" deflateInit2 "中,引自:+ [GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)"_inflate"中,引自:+ [GAICompressionUtil在libGoogleAnalyticsServices.a(GAICompressionUtil.o)"_inflateEnd"中的gai_dataByInflatingBytes:length:isRawData:],引自:+ [GAICompressionUtil gai_dataByInflatingBytes:length:isRawData:]在libGoogleAnalyticsServices.a(GAICompressionUtil.o)" inflateInit2 "中,引用自:+ libGoogleAnalyticsServices.a中的[GAICompressionUtil gai_dataByInflatingBytes:length:isRawData:](GAICompressionUtil.o)ld:symbol(s)找不到架构i386 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
在查看"构建阶段"设置中的可用包时,我可以找到"libz.tbd",它似乎是libz.dylib的替代品.导入此lib时,链接器错误保持不变,但我收到此额外警告:
警告:正在跳过文件'/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/lib/libz.tbd'(意外文件类型'text'in框架和库构建阶段)
知道该怎么办?
2015年8月19日 - 在3.13更新中似乎已经修复了Bug ,即使他们在更改日志中列出的唯一内容是"Fixed an issue which caused crashes when using setCampaignParametersFromUrl".想拿就拿吧.
2015年6月8日 - 仍然遇到这个问题.如果我禁用自动发送事件([GAI sharedInstance].dispatchInterval = -1;)然后我仍然收到错误.因此,我认为问题在于将事件插入到谷歌分析SQLite数据库中,不知何故我正在进行的数据库语句正在变为现实void.
2015年6月10日 - 仍然遇到崩溃.试图删除我的控制器,手动扩展GAITrackedViewController和发送createScreenView轨道,不会改变崩溃频率.
2015年6月25日 - 仍然遇到崩溃.
我已经添加Google Analytics SDK 3.12到我的iPhone应用程序,一切都按预期工作 - 我运行应用程序,可以看到我在Web界面上设置的所有点击和事件.
我正在我的AppDelegate右上角初始化SDK didFinishLaunchingWithOptions,如下所示:
[[GAI sharedInstance] trackerWithTrackingId:GOOGLE_ANALYTICS_ID];
Run Code Online (Sandbox Code Playgroud)
但是,我发现当我尝试自己使用SQLite时,运行Google Analytics会产生错误.它们可能表现为严重错误,例如:
"Database disk image is malformed" 然后insta-crashes"Disc i/O error" 每当我运行一个查询(虽然没有崩溃)而且它们也会导致我自己的SQLite查询失败,例如:
if (! sqlite3_prepare_v2(_db, [sql …Run Code Online (Sandbox Code Playgroud) sqlite google-analytics objective-c ios google-analytics-sdk
我在将Google AnalyticsSDK集成到iOS项目时遇到了很多麻烦.我正在使用XCode 7并以iOS 7为目标.使用Swift 2.0.但是我可以让样本正常工作(尽管不转换为Swift 2.0).
我已尝试通过CocoaPods安装并手动复制文件:
https://developers.google.com/analytics/devguides/collection/ios/v3/sdk-download
通过CocoaPods安装时,我尝试了两种方法
pod 'Google/Analytics'
Run Code Online (Sandbox Code Playgroud)
,
pod 'GoogleAnalytics'
Run Code Online (Sandbox Code Playgroud)
和
pod 'Google/Analytics', '~> 1.0.0'
Run Code Online (Sandbox Code Playgroud)
无论哪种情况,XCode构建都会失败并出现错误
BridgingHeader.h:2:9: 'Google/Analytics.h' file not found
Failed to import bridging header '/Users/jonas.andersson/Projects/MyAppName/MyAppName/Supporting files/BridgingHeader.h'
Run Code Online (Sandbox Code Playgroud)
这个在行:
#import <Google/Analytics.h>
Run Code Online (Sandbox Code Playgroud)
我也尝试过添加
$(SRCROOT)/Pods/GoogleAnalytics
Run Code Online (Sandbox Code Playgroud)
添加到AppDelegate时找不到Google/Analytics.h文件中的其他建议
更新
使用pod 'GoogleAnalytics'然后#import <Google/Analytics.h>更好地工作.但是,我收到以下错误:
Use of unresolved identifier 'GGLContext'
Run Code Online (Sandbox Code Playgroud)
当我根据Google文档尝试设置GA时:
var configureError:NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
Run Code Online (Sandbox Code Playgroud) 试图压制我们更持久的崩溃报告之一.可疑,因为它只是iOS 7.*,它不清楚触发器是什么,这是我们的用户遇到问题的相对较小的百分比.感觉像是竞争条件或iOS 7.*特定的Google Analytics SDK错误.我与SDK的互动是直截了当的:
+ (void)trackEvent:(NSString *)category action:(NSString *)action label:(NSString *)label value:(NSNumber *)value
{
// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:category
action:action
label:label
value:value] build]];
}
+ (void)trackScreenView:(NSString *)screenName
{
// https://developers.google.com/analytics/devguides/collection/ios/v3/screens
// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];
// This screen name value …Run Code Online (Sandbox Code Playgroud) google-analytics objective-c crashlytics ios7 google-analytics-sdk
在添加一些pod之后尝试编译我的项目.编译时会出现以下错误
找不到"GoogleUtilities/GULAppEnvironmentUtil.h"文件
Podfile.lock片段
- FirebaseCore (5.1.1):
- GoogleUtilities/Logger (~> 5.2)
- FirebaseDynamicLinks (3.0.2):
- FirebaseAnalytics (~> 5.1)
- FirebaseInAppMessaging (0.11.0):
- FirebaseAnalytics (~> 5.1)
- FirebaseCore (~> 5.1)
- FirebaseInstanceID (~> 3.2)
- GoogleUtilities/Environment (~> 5.0)
- FirebaseInstanceID (3.2.1):
- FirebaseCore (~> 5.1)
- GoogleUtilities/Environment (~> 5.2)
- FirebaseMessaging (3.1.0):
- FirebaseCore (~> 5.0)
- FirebaseInstanceID (~> 3.0)
- GoogleUtilities/Reachability (~> 5.2)
- Protobuf (~> 3.1)
- FirebaseRemoteConfig (3.0.1):
- FirebaseABTesting (~> 2.0)
- FirebaseAnalytics (~> 5.1)
- FirebaseCore (~> …Run Code Online (Sandbox Code Playgroud) 我可以使用GoogleService-Info.plist同时使用Google SignIn和Google Analytics.
但是,为了减少依赖性,我想将GoogleService-Info.plist中的信息移动到包含其他信息的另一个.plist中.
这可能吗?如果是这样,我该怎么做?
找不到文件错误GoogleUtilities/Libraries/libGTM_NSData+zlib.a.
以下是我的Podfile中与Google库相关的一些内容
pod 'GoogleAnalytics', '~> 3.14.0'
pod 'Google/CloudMessaging', '~> 1.1.0'
pod 'Google/SignIn'
pod 'GoogleAds-IMA-iOS-SDK'
Run Code Online (Sandbox Code Playgroud) objective-c ios google-cloud-messaging google-analytics-sdk google-signin
我按照Google指南中提供的说明将Google Analytics SDK添加到了我的项目中.但是,当我尝试跟踪某些事件时,这是调试输出:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[…]
// Google Analytics
[GAI sharedInstance].trackUncaughtExceptions = YES;
[GAI sharedInstance].dispatchInterval = 20;
[[[GAI sharedInstance] logger] setLogLevel:(PADEV ? kGAILogLevelVerbose : kGAILogLevelError)];
[[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXXXXXX-Y"]; // This is obviously replaced with my tracking ID
return YES;
}
Run Code Online (Sandbox Code Playgroud)
和
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"article"
action:@"read"
label:@""
value:self.post[@"id"]] build]];
Run Code Online (Sandbox Code Playgroud)
日志:
2014-11-12 01:02:25.144 PonzApp[5236:112706] INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher didSendHits:response:data:error:] (GAIBatchingDispatcher.m:208): Hit(s) dispatched: HTTP status -1
2014-11-12 01:02:25.146 PonzApp[5236:112781] INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher …Run Code Online (Sandbox Code Playgroud) events google-analytics measurement-protocol google-analytics-sdk
最近,我们根据此文档为Android应用程序整合了Google Analytics V4 SDK(以跟踪安装引荐):https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#overview
遗憾的是,即使正确发送广播,数据在GA统计数据中也不可见.
我已完成以下步骤以确保收到广播:
在我的logcat几秒钟后出现以下信息:
03-31 19:52:41.695 24530-24551/pl.onet.zapytaj D/GAv4:收到安装活动:medium = display,name = promo_mzapytaj_wariantA,source = m.zapytaj.onet.pl 03-31 19:52:41.705 24530-24551/pl.onet.zapytaj D/GAv4:将安装活动发送至:UA-60392364-5,medium = display,name = promo_mzapytaj_wariantA,source = m.zapytaj.onet.pl
尽管我多次重复这一步骤,GA似乎并没有在任何地方显示它(Aquisitions).
有谁有这个问题?Google Play Developer控制台可以正确显示广告系列信息
我无处可报告,但此处,问题跟踪器是只读的:https: //code.google.com/p/analytics-issues/issues/list
在启用StrictMode的情况下运行时,我从Google Analytics SDK v10.2.0获得以下信息:
02-16 10:55:46.245 2633-2641/com.visiolink.reader.wrapper E/StrictMode: Finalizing a Cursor that has not been deactivated or closed. database = /data/user/0/com.visiolink.reader.wrapper/databases/google_app_measurement_local.db, table = null, query = select count(1) from messages
android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:98)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
at com.google.android.gms.internal.zzatv.zza(Unknown Source)
at com.google.android.gms.internal.zzatv.zza(Unknown Source)
at com.google.android.gms.internal.zzaul.zzc(Unknown Source)
at com.google.android.gms.internal.zzauj.zzb(Unknown Source)
at com.google.android.gms.internal.zzauj.zza(Unknown Source)
at com.google.android.gms.internal.zzauj$8.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at com.google.android.gms.internal.zzaud$zzd.run(Unknown …Run Code Online (Sandbox Code Playgroud)