如何正确地将 Kal 框架添加到我的 iPhone 项目中?
Posted
技术标签:
【中文标题】如何正确地将 Kal 框架添加到我的 iPhone 项目中?【英文标题】:How do I properly add the Kal framework to my iPhone project? 【发布时间】:2010-05-21 19:25:23 【问题描述】:我是 iPhone 开发的新手,在我的项目中使用第 3 部分 Kal 框架时遇到问题。我找不到任何关于如何将 Kal 框架添加到我的代码的文档,所以我认为这只是将源文件添加到我的项目的“组和文件”并设置头文件搜索路径以包含新的代码。
-
我需要做的就是将 Kal 框架正确添加到我的 iPhone 项目中吗?
我收到此错误(如下所示),它表示什么?
Undefined symbols:
".objc_class_name_KalViewController", referenced from:
literal-pointer@__OBJC@__cls_refs@KalViewController in RootViewController.o
ld: symbol(s) not found
添加语句时出现此错误...
kalViewController = [[[KalViewController alloc] init] autorelease];
到我的 RootViewController.m viewDidLoad 方法和#import "Kal.h"
非常感谢您的帮助!
更新:我在a similar SO question...中找到了这个回复(如下所示)...
还有一件事要做: 选择时签入文件列表 “类”组。下一个复选框 必须启用 .m 文件(其中 告诉 XCode 编译和链接 文件)特别是如果你添加它们 “添加现有文件...”命令。
我检查了并且我的 KalViewController.m 文件没有选中复选框(我认为这意味着它没有添加到我的目标中),但是如何检查我需要的文件旁边的复选框?我很困惑...
更新:感谢下面 Alex 的 cmets,我从头开始创建了一个新项目并将 Kal 代码拖到 Xcode 中,然后在添加了上面提到的有问题的代码行之后,一切正常。 p>
【问题讨论】:
你能提供更多细节吗?您的控制器是否包含类似 #import "Kal.h" 的内容? 你说的是这个吗? github.com/klazuka/Kal我注意到其中包含一个自述文件 @Alex,谢谢,我用更多信息更新了我的问题 @giftederic,是的,这就是我所指的,但自述文件不包含有关如何将框架添加到项目中的任何信息。它只讨论了框架的非常基本的使用。 我将从一个新的 Xcode 项目开始,只需将包含所有源文件的“Kal”目录拖到 Xcode 项目中。出现提示时,请务必选择复制文件。我认为这是一个单选按钮。然后添加更新您的控制器以包括 Kal。听起来有些东西不同步,如果没有看到,很难解释如何修复它。 【参考方案1】:来自 GITHUB:
在 XCode 4 中,在项目导航器中单击您的项目。说将文件添加到项目并找到 Kal.xcodeproj。文件并添加它。 当你在你的项目下看到 Kal 项目时,你就快到了。 现在再次在项目导航器中选择您的项目并转到构建设置。在那里搜索“Linker”并填写Other Linker Flags:“-Objc and -all_load”,还在Library Search Paths中插入Kal目录的路径以及从您的项目到kal项目的相对路径:“Header Search路径”。 这就是构建设置。
现在转到构建阶段: 将 Kal 静态库添加到目标依赖项中,还将 libKal.a 添加到 Link Binary with Libraries,最后将 Kal.bundle 添加到“Copy Bundle Resources”中。
【讨论】:
“从你的项目到 kal 项目的相对路径”到底是什么意思。如何确定? 使用 ./ 符号向上导航文件夹树。【参考方案2】:您可以尝试将#import "Kal.h" 移动到 RootViewController.h,而不是在 RootViewController.m 中。
编辑:通常,在 Xcode 项目中包含 Kal 之类的框架只需将所有源代码拖到项目中即可。如果您完全复制了源,则不必更改标题搜索路径。这可能会导致问题。
【讨论】:
谢谢,亚历克斯,但似乎没有修复它。【参考方案3】:我认为 kal 是静态的,事实上它是 -
按照https://github.com/klazuka/Kal 上的说明进行操作,它会告诉您如何将 kal 库添加到您的项目中。
【讨论】:
【参考方案4】:我相信使用 XCode 4 的方法是创建一个新的“工作区”,然后将您的项目和 Kal 项目添加到其中。
见:http://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/NewProject/NewProject.html
我为迁移的项目执行此操作,然后我需要将 libKal.a 添加到我的项目的构建阶段。它将文件显示为“缺失”(即红色带有空白的短划线边框图标),但它似乎可以工作......
【讨论】:
以上是关于如何正确地将 Kal 框架添加到我的 iPhone 项目中?的主要内容,如果未能解决你的问题,请参考以下文章
如何正确地将 UITextField 添加到 UITableViewCell
如何正确地将数据解析到我的改造客户端中以执行发布请求[重复]