iOS Apptentive SDK - 来自`[NSManagedObject setup]`的NSInvalidArgumentException

时间:2013-07-11 13:44:34

标签: iphone ios nsmanagedobject apptentive

我是iOS programminng的新手。我想在我的第一个App中使用Apptentive SDK的反馈系统。 编译时没有错误,但是当它开始与Apptentive服务器建立连接时,我收到以下错误消息:

2013-07-11 15:32:19.438 wishes[11015:c07] Loading ATWebClient_Metrics_Bootstrap
2013-07-11 15:32:19.438 wishes[11015:c07] Loading ATWebClient_SurveyAdditions_Bootstrap
2013-07-11 15:32:19.439 wishes[11015:c07] Loading ATURLConnection_Private_Bootstrap
2013-07-11 15:32:19.439 wishes[11015:c07] Loading ATWebClient_Private_Bootstrap
2013-07-11 15:32:19.439 wishes[11015:c07] Loading ATWebClient_MessageCenter_Bootstrap
2013-07-11 15:32:19.440 wishes[11015:c07] Loading ATToolbar_Bootstrap
2013-07-11 15:32:19.442 wishes[11015:1303] [info] Setting up data manager
2013-07-11 15:32:19.598 wishes[11015:1d03] [info] Creating conversation
**2013-07-11 15:32:19.616 wishes[11015:c07] -[NSManagedObject setup]: unrecognized selector sent to instance 0xa060110
2013-07-11 15:32:19.618 wishes[11015:c07] ** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSManagedObject setup]: unrecognized selector sent to instance 0xa060110'
** First throw call stack:
(0x2ef4012 0x23a0e7e 0x2f7f4bd 0x2ee3bbc 0x2ee394e 0xbc347 0xbc29f 0xf8f5b3 0x2eb3376 0x2eb2e06 0x2e9aa82 0x2e99f44 0x2e99e1b 0x2e4e7e3 0x2e4e668 0x26bffc 0x2afd 0x2a25)
libc++abi.dylib: terminate called throwing an exception**

在搜索我发现的论坛时,它可能是AppDatative SDK使用的CoreData问题,但正如我所写,我是iOS开发的新手,所以直到现在我还没有使用CodeData。

开始连接的代码:

ATConnect *connection = [ATConnect sharedConnection];
connection.apiKey = @"myApiKey";
[connection presentMessageCenterFromViewController:self];

当我使用apiKey assign取消注释一行时,没有错误。

如果可以,请帮助我。

2 个答案:

答案 0 :(得分:2)

问题在于,Apptentive会在setup上使用类别NSManagedObject,但在您的系统中,这些类别不会被加载。这个问题有点难以理解,解决方案很模糊,并且取决于您使用的Xcode版本。

要强制使用大锤加载类别,请将其添加到“其他链接器标记”:

-all_load

如果可行,那就试试这个更好的解决方案(将“改为”真名:

-force_load $(BUILD_PRODUCTS_DIR)/<apptentive_library_name>.a 

如果可行,那么您可以尝试使用此标志:

-ObjC

如果您在此网站上搜索“all_load”,“force_load”和“-ObjC”这两个词,您可以找到很多帖子。

答案 1 :(得分:0)

Apptentive project settings guide中,我们建议使用以下“其他链接标记:

目标&gt;构建设置&gt;其他链接标志:

-ObjC -all_load