2011-05-11 25 views
6

我有一个工作的应用程序依赖于几个静态库,我已经添加为应用程序的依赖关系,并添加到构建阶段的静态库链接。所有东西都可以在模拟器和我附加的iPad上建立并运行。在ios项目中使用静态库在xcode 4中创建归档文件中设置构建配置的正确方法是什么?

我想创建用于测试飞行中使用,所以我跟着上试飞的网站(http://support.testflightapp.com/kb/tutorials/how-to-create-an-ipa-xcode-4),并与创建与使用静态库(http://diaryofacodemonkey.ruprect.com/2011/03/18/ad-hoc-app-distribution-with-xcode-4/http://www.musicalgeometry.com/?p=1237)应用程序归档一些其他教程说明一个的.ipa。

在这些教程,我创建一个档案,我得到有关无法找到各种库,例如链接错误: LD:库找不到-lOAuthTouch

(我使用也试着新项目和一个新的静态库项目,以确保它不是我已经改变的一些设置,并且我得到同样的问题)。

这似乎是因为我向我的应用程序添加了一个名为“Ad Hoc”的构建配置来创建存档,并且基于linker命令和将“Ad Hoc”配置添加到所有静态库的事实使用允许创建存档我假设静态库正在构建到不同的目录。

我宁愿不必为所有使用的库增加一个新的构建配置,所以我的问题是,我该如何创建我的应用程序的存档,而不用修补每个我使用的库?

第二个相关问题:我提到的所有教程都说静态库的设置为“跳过安装”的设置为yes,但Apple文档(http://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/DistApps/DistApps.html)似乎表示将它设置为应用程序而不是库。任何人都知道哪个是对的?

+0

这是这一问题的很好的参考: http://stackoverflow.com/questions/8523690/xcode-custom-build-configuration-causes-library-file-not-found-for-static- libr – tooluser 2014-01-02 17:55:27

回答

3

它会工作,您必须简单地得到正确的路径,并确保您已在工作区中的每个静态库上设置跳过安装为NO。我最近经历了这个,最终从我的主要目标和每个静态库目标中删除了现有的Ad hoc分发配置。我在主项目和每个静态库项目上创建了一个新的特别配置,并验证了每个项目中的所有设置。

请参阅this linkthisthis所有这些都有助于对此进行分类。

+1

谢谢你的答案阿兰:)。我可能还不够清楚:我可以构建和打包我的应用程序**如果**我为所使用的所有静态库添加了一个名为“Ad Hoc”的构建配置,但这不是我的永久解决方案因为一些图书馆不是我的。 – Daniel 2011-05-15 05:44:15

相关问题