0

我是 iOS 编程新手。我想在我的第一个应用程序中使用带有 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**

在搜索论坛时,我发现这可能是 Apptentive SDK 使用的 CoreData 的问题,但在我写的时候,我是 iOS 开发的新手,所以我直到现在才使用 CodeData。

开始连接的代码:

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

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

如果可以,请你帮助我。

4

2 回答 2

2

问题是 Apptentive 使用类别,例如setupon NSManagedObject,但在您的系统中,这些类别没有被加载。这个问题是一个有点难以理解的问题,而且解决方案很模糊,并且取决于您使用的 Xcode 版本。

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

-all_load

如果可行,请尝试这个更好的解决方案(将“”更改为其真实名称:

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

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

-ObjC

如果您在此站点上搜索术语“all_load”、“force_load”和“-ObjC”,您会发现大量帖子。

于 2013-07-11T13:59:04.043 回答
0

Apptentive 项目设置指南中,我们推荐以下“Other Linker Flags:

目标 > 构建设置 > 其他链接器标志:

-ObjC -all_load
于 2013-10-03T17:34:32.593 回答