在 Xcode 中设置 RestKit

Posted

技术标签:

【中文标题】在 Xcode 中设置 RestKit【英文标题】:Setting up RestKit in Xcode 【发布时间】:2012-06-29 14:00:15 【问题描述】:

我的名字是 Marco,我正在尝试在我的项目中使用 RestKit。总的来说,我是 RestKit 和 ios 的新手,但是非常有经验的 .NET 程序员

你们能帮帮我吗?

问题是我无法设置 XCode 来使用 RestKit。当我尝试编译它时它总是说:

架构 i386 的未定义符号:

_CG​​RectIsEmpty",引用自:

  -[RKAbstractTableController addToOverlayView:modally:] in libRestKit.a(RKAbstractTableController.o)

“_CGRectContainsPoint”,引用自:

  -[RKAbstractTableController resizeTableViewForKeyboard:] in libRestKit.a(RKAbstractTableController.o)

“_CGRectZero”,引用自:

  -[RKAbstractTableController initWithTableView:viewController:] in libRestKit.a(RKAbstractTableController.o)

  -[RKAbstractTableController showImageInOverlay:] in libRestKit.a(RKAbstractTableController.o)

  -[RKRefreshGestureRecognizer initWithTarget:action:] in libRestKit.a(RKRefreshGestureRecognizer.o)

  -[RKRefreshTriggerView initWithFrame:] in libRestKit.a(RKRefreshTriggerView.o)

  -[RKAbstractTableController initWithTableView:viewController:] in libRestKit.a(RKAbstractTableController.o)

  -[RKAbstractTableController showImageInOverlay:] in libRestKit.a(RKAbstractTableController.o)

  -[RKRefreshGestureRecognizer initWithTarget:action:] in libRestKit.a(RKRefreshGestureRecognizer.o)

  -[RKRefreshTriggerView initWithFrame:] in libRestKit.a(RKRefreshTriggerView.o)

  -[RKAbstractTableController initWithTableView:viewController:] in libRestKit.a(RKAbstractTableController.o)

  -[RKAbstractTableController showImageInOverlay:] in libRestKit.a(RKAbstractTableController.o)

  -[RKRefreshGestureRecognizer initWithTarget:action:] in libRestKit.a(RKRefreshGestureRecognizer.o)

  -[RKRefreshTriggerView initWithFrame:] in libRestKit.a(RKRefreshTriggerView.o)

“_CGRectGetWidth”,引用自:

  -[RKRefreshGestureRecognizer observeValueForKeyPath:ofObject:change:context:] in libRestKit.a(RKRefreshGestureRecognizer.o)

  -[RKRefreshTriggerView layoutSubviews] in libRestKit.a(RKRefreshTriggerView.o)

“_CGRectGetMidY”,引用自:

  -[RKRefreshTriggerView layoutSubviews] in libRestKit.a(RKRefreshTriggerView.o)

“_CGRectIntegral”,引用自:

  -[RKRefreshTriggerView layoutSubviews] in libRestKit.a(RKRefreshTriggerView.o)

“_CGRectGetHeight”,引用自:

  -[RKRefreshTriggerView layoutSubviews] in libRestKit.a(RKRefreshTriggerView.o)

“_CGRectOffset”,引用自:

  -[RKRefreshTriggerView layoutSubviews] in libRestKit.a(RKRefreshTriggerView.o)

ld:未找到体系结构 i386 的符号

clang: error: 链接器命令失败,退出代码为 1(使用 -v 查看调用)

当我删除 -ObjC -all_load 链接器标志时,我的项目构建“正常”。但是后来我尝试使用它,我得到了错误:

2012-06-29 10:40:08.346 AgroERP[5234:fb03] -[NSURL queryParameters]:无法识别的选择器发送到实例 0x6e4cd60

2012-06-29 10:40:08.349 AgroERP[5234:fb03] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSURL queryParameters]:无法识别的选择器发送到实例 0x6e4cd60'

* 首先抛出调用栈:

(0x1780022 0x19e6cd6 0x1781cbd 0x16e6ed0 0x16e6cb2 0x2424c 0x2405f 0x241cf 0x240d4 0x2751 0x1781e99 0xa0114e 0xa010e6 0xaa7ade 0xaa7fa7 0xaa6d8a 0xa262cf 0xa265e6 0xa0cdc4 0xa00634 0x1f8bef5 0x1754195 0x16b8ff2 0x16b78da 0x16b6d84 0x16b6c9b 0x1f8a7d8 0x1f8a88a 0x9fe626 0x1fac 0x1f45为0x1) P>

终止调用抛出异常

在该行中: RKURL *baseURL = [RKURL URLWithBaseURLString:@"http://192.168.1.101/AgroERPAPI/AuthenticationClient.svc"];

抱歉,打扰您了,但我真的需要帮助。非常感谢!

【问题讨论】:

【参考方案1】:

这些是 Core Graphics 框架的一部分,因此看起来由于某种原因它没有被包含在内。确保将其添加到项目中并且选择了正确的构建目标。查看构建设置中的框架。

【讨论】:

谢谢,这对我来说是个问题。 CoreGraphics 已添加到我的应用程序目标中,但它未包含在测试目标中并导致编译错误。

以上是关于在 Xcode 中设置 RestKit的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 中设置 Flutter 构建选项

如何在Objective C中设置Xcode 8中的约束

在 Xcode 中设置 RestKit

在 Xcode 构建阶段运行脚本中设置全局环境变量

在Xcode中设置图像高度填充自动布局

在 xcode 中设置 Firebase 的问题