2

我正在尝试为 Unity3d IOS 应用程序实施 Keen.IO 分析。我浏览了 Keen.IO 文档,将库集成到 Unity3D 生成的 xcode 项目中,并成功构建。

但是,当我尝试从 AppController 方法进行简单直接的“AddEvent”调用时,我得到了这个异常。

2014-05-22 18:04:20.591 Adding event to collection: testEvent1
2014-05-22 18:04:20.594 [__NSDictionaryM JSONDataWithOptions:serializeUnsupportedClassesUsingDelegate:selector:error:]: unrecognized selector sent to instance 0x34737e0
2014-05-22 18:04:20.596 Exception: -[__NSDictionaryM JSONDataWithOptions:serializeUnsupportedClassesUsingDelegate:selector:error:]: unrecognized selector sent to instance 0x34737e0

我在 applicationDidBecomeActive() 方法中注册 KeenClient(工作正常)并在 applicationDidEnterBackground() 方法中使用简单的 NSDictionary 调用 AddEvent():

NSDictionary *event = [NSDictionary dictionaryWithObjectsAndKeys:@"first view", @"view_name", @"going to", @"action", nil];
[[KeenClient sharedClient] addEvent:event toEventCollection:@"testEvent1" error:nil];

看起来 Keen.IO 库代码正在引发此异常,但我怀疑这是否与 Unity 生成的 xcode 项目有关。

感谢熟悉的人提供的任何帮助。

4

2 回答 2

1

从https://groups.google.com/forum/#!topic/keen-io-devs/hJ776FCa0DA交叉发布。

看起来您可能正在使用旧版本的 Keen IO iOS SDK,它使用 JSONKit 进行 JSON 序列化。最新版本使用 Apple 的 NSJSONSerialization 应该没有这个问题。您可以尝试使用 cocoapods 的最新版本下载最新的通用二进制文件吗?

于 2014-05-23T22:39:04.140 回答
0

另一种方法是集成.NET Keen Client,尽管我一直在尝试并遇到库兼容性问题。特别是围绕 System.Numerics。但是,您的 Unity/Mono/.NET foo 可能比我的更强大。

于 2015-08-31T19:34:08.183 回答