使 Box iOS SDK WebAPI 和 Google Analytics iOS SDK 2.0beta3 协同工作
Posted
技术标签:
【中文标题】使 Box iOS SDK WebAPI 和 Google Analytics iOS SDK 2.0beta3 协同工作【英文标题】:Making Box iOS SDK WebAPI and Google Analytics iOS SDK 2.0beta3 work together 【发布时间】:2012-12-07 13:46:38 【问题描述】:独立地他们工作得很好。 在 ios 5.1 和 iOS 模拟器 6.0 上试用过。 当我尝试将它们一起使用时出现以下错误:
2012-12-07 14:28:53.229 FotoInBox[1962:1cd03] 点击网址:http://www.google-analytics.com/collect 2012-12-07 14:28:53.231 FotoInBox[1962:1cd03] 方法:POST 2012-12-07 14:28:53.232 FotoInBox[1962:1cd03] 标题用户代理:GoogleAnalytics/2.0b3(iPad 模拟器;U;CPU iPhone OS 6.0,如 Mac OS X;en-us) 2012-12-07 14:28:53.234 FotoInBox[1962:1cd03] 标题内容长度:184 2012-12-07 14:28:53.235 FotoInBox[1962:1cd03] 标题内容类型:应用程序/x-www-form-urlencoded;字符集=UTF-8 2012-12-07 14:28:53.236 537&qt=11234484&z=10891977320669573255 2012-12-07 14:28:53.566 FotoInBox[1962:1cd03] GoogleAnalytics 2.0b3 -[GAIDispatcher dispatchComplete:withStartTime:withRetryNumber:withResponse:withData:withError:] (GAIDispatcher.m:392) DEBUG: Hit /GAIHit/p3 dispatch (329 毫秒):HTTP 状态 200 2012-12-07 14:28:58.830 FotoInBox [1962:1cd03] 崩溃:无法从此 NSManagedObjectContext 的协调器访问对象的持久存储 2012-12-07 14:28:58.832 FotoInBox[1962:1cd03] 堆栈跟踪:( 0 核心基础 0x03b7a02e __exceptionPreprocess + 206 1 libobjc.A.dylib 0x02735e7e objc_exception_throw + 44 2 核心数据 0x00b884d2 _PFRetainedObjectIDCore + 658 3核心数据0x00b88230-[NSManagedObjectContext(_NSInternalAdditions)_retainedObjectWithID:]+32 4 核心数据 0x00b6c293 -[NSManagedObjectContext objectWithID:] + 275 5 核心数据 0x00b6ac86-[NSManagedObjectContext _mergeChangesFromDidSaveDictionary:usingObjectIDs:] + 2662 6 核心数据 0x00b6a1de-[NSManagedObjectContext mergeChangesFromContextDidSaveNotification:] + 174 7 FotoInBox 0x000d99fc __50-[BoxCoreDataStore 合并的UpdatesIntoQueryContext:]_block_invoke_0 + 67 8 libdispatch.dylib 0x04293014 _dispatch_client_callout + 14 9 libdispatch.dylib 0x04282d5f _dispatch_barrier_sync_f_invoke + 58 10 libdispatch.dylib 0x04282aa3 dispatch_barrier_sync_f + 108 11 libdispatch.dylib 0x04282e5e dispatch_sync + 45 12 FotoInBox 0x000dc2d2 -[BoxCoreDataStore dispatchBlock:onQueue:] + 47 13 FotoInBox 0x000dc255 -[BoxCoreDataStore dispatchBlockOnQueryQueue:] + 64 14 FotoInBox 0x000d99b1 -[BoxCoreDataStore 合并的UpdatesIntoQueryContext:] + 138 15 基础 0x011a9dc9 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 40 16 核心基础 0x03bd40c5 ___CFXNotificationPost_block_invoke_0 + 85 17 核心基础 0x03b2eefa _CFXNotificationPost + 2122 18 基础 0x010de482 -[NSNotificationCenter postNotificationName:object:userInfo:] + 98 19 核心数据 0x00b69150 -[NSManagedObjectContext(_NSInternalAdditions)_didSaveChanges] + 3008 20 核心数据 0x00b56639 -[NSManagedObjectContext 保存:] + 1353 21 照片收件箱 0x0053d479 -[GAIDataStore 保存:] + 137 22 FotoInBox 0x0054eee9-[GAIDispatcher dispatchComplete:withStartTime:withRetryNumber:withResponse:withData:withError:] + 2441 23 FotoInBox 0x0054fc88 __46-[GAIDispatcher 启动调度:重试编号:]_block_invoke_0 + 152 24 FotoInBox 0x00546f66 __47-[GAIURLConnection connectionDidFinishLoading:]_block_invoke_0 + 150 25 libdispatch.dylib 0x0428153f _dispatch_call_block_and_release + 15 26 libdispatch.dylib 0x04293014 _dispatch_client_callout + 14 27 libdispatch.dylib 0x042837d5 _dispatch_main_queue_callback_4CF + 296 28 核心基础 0x03b20af5 __CFRunLoopRun + 1925 29 核心基础 0x03b1ff44 CFRunLoopRunSpecific + 276 30 核心基础 0x03b1fe1b CFRunLoopRunInMode + 123 31 图形服务 0x033fb7e3 GSEventRunModal + 88 32 图形服务 0x033fb668 GSEventRun + 104 33 UIKit 0x0198265c UIApplicationMain + 1211 34 照片收件箱 0x000021b9 主要 + 169 35 照片收件箱 0x000020c5 开始 + 53 ) 2012-12-07 14:28:58.854 FotoInBox[1962:1cd03] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法从此 NSManagedObjectContext 的协调器访问对象的持久存储” *** 首先抛出调用堆栈: (0x3b7a012 0x2735e7e 0xb884d2 0xb88230 0xb6c293 0xb6ac86 0xb6a1de 0xd99fc 0x4293014 0x4282d5f 0x4282aa3 0x4282e5e 0xdc2d2 0xdc255 0xd99b1 0x11a9dc9 0x3bd40c5 0x3b2eefa 0x10de482 0xb69150 0xb56639 0x53d479 0x54eee9 0x54fc88 0x546f66 0x428153f 0x4293014 0x42837d5 0x3b20af5 0x3b1ff44 0x3b1fe1b 0x33fb7e3 0x33fb668 0x198265c 0x21b9 0x20c5) libc++abi.dylib:终止调用抛出异常【问题讨论】:
我没有答案,但显然两者都使用 Core Data/sqlite,也许两者的名称相同,因此以某种方式混淆了 GA。 【参考方案1】:最新版本的框架对此进行了修复,您应该不会再看到任何问题:https://cloud.box.com/s/4atlh8kda0fialhrr7e8
【讨论】:
升级 Box SDK 后,我可以成功编译包含两个 SDK 的应用程序。谢谢。以上是关于使 Box iOS SDK WebAPI 和 Google Analytics iOS SDK 2.0beta3 协同工作的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Web API 请求中使用来自 iOS SDK 的令牌吗?
如何使用swift和ios使firebase sdk中的旧消息过期