使用Xcode 4.5创建Cocoa Touch静态库

3
我正在尝试创建一个简单的静态库并将其添加到另一个项目中。 我找到了几篇教程来说明如何做到这一点,每篇教程似乎都有点不同。我发现最近的那篇似乎是最简单的,所以我重新制作了它。
当我尝试构建从中访问库的项目时,我会得到一个“Apple Mach-O Linker警告 - 忽略[我的.a文件],文件[我的.a文件]中缺少所需的体系结构i386(2个片段)”,以及“Apple Mach-O Linker错误”两次。我猜问题在于它正在忽略我的.a文件,这就是导致错误的原因,因此修复警告应该也能解决错误。该线程中的一些用户似乎已经发布了有关此问题的帖子,但似乎没有任何回应以解决它。是否有人知道本教程省略了什么导致这些错误?

那个静态库是你的吗?你自己写的并且将其包含到了你的项目中? - Simon Germain
是的,我正在尝试按照链接中的教程创建自己的静态库,然后通过按照教程中的步骤在第二个项目中实现其中的方法(我也正在创建该项目)。 - GeneralMike
我有同样的问题。你不是一个人 :) - Dominik Hadl
我也遇到了和你们一样的问题 :( - Jay Sampat
2个回答

1

xcode 4.5 不支持 armv6,移除它即可创建库文件...

https://developer.apple.com/library/mac/#releasenotes/DeveloperTools/RN-Xcode/_index.html

一般: iOS 此版本的 Xcode 不生成 armv6 二进制文件。12282156 最低部署目标为 iOS 4.3。12282166 在此 Xcode 发布版中,新用户界面文档(storyboards 和 nib 文件)开启了自动布局。由于自动布局需要 iOS 6.0,因此在早期的 iOS 发布版本上使用此类用户界面文档会导致崩溃或其他未定义的行为。12289644 为了让您的应用程序在早期的 iOS 版本上运行,请关闭其用户界面文档中的自动布局。


只是为了明确,您的意思是从我的库目标的“构建设置”选项卡上的“有效架构”列表中删除它,对吗?如果是这样,那么它不在那里;如果我没记错的话,我是在这个版本的Xcode中创建我的库的,所以它在创建项目时必须自动省略了它。 - GeneralMike
确切地说,最好检查而不是依赖于“应该是”。 - Bennya
顺便提一句,您还需要检查库项目是否是您项目的依赖项,并且该库是否已被包含... - Bennya

0
在您的静态库代码中,进入项目目标。构建设置->架构->有效架构,打开该值并点击“+”按钮,添加“i386”。
确保您进行完全清理(command + alt + shift + K)并重新构建。
将您的库复制回主项目并编译它。
如果可以,请告诉我是否有效。

没有成功。i386还没有在其中,但是添加它并进行清理+重建+重新导入并没有帮助。我仍然有相同的错误。不过还是谢谢! - GeneralMike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接