iPhone应用程序在分发版本上使用静态库编译错误

2 iphone build-process compiler-errors distribution

我目前正在尝试构建我的(第一个)iphone应用程序的分发产品,以便它可以上传到App Store.我已经完成了所有App ID和Distribution Provisioning配置文件过程,最后得到了Organizer和目标的构建配置来识别它.

问题是当在"分发"上设置"活动配置"时(每个iPhone开发中心方向的"发布"配置的副本)我无法获得编译的代码.该项目包含对静态库的引用,该库包含多个类,这些类在许多项目的类中用作基类.因此,在构建Distribution配置时,编译器会抛出错误,指出它无法从静态库中找到基类,并且构建失败.

如果我切换Active Config."调试"(在开发时使用)根本没有问题,应用程序按预期正确编译.

我无法找到问题所在.我在这里发现了另一个类似的问题,但它似乎是一个不同的情况:

iPhone静态库分发和发布构建错误(但不适用于调试)

谷歌似乎也没有太多有用的结果.我还在Build部分检查了目标的信息,并在"Debug"和"Distribution"配置之间来回切换以检查任何相关的差异,但到目前为止还没有找到任何人.实际上我没有在静态库上找到任何相关信息.仅在信息窗口的"常规"选项卡上,但静态库在"直接依赖关系"中正确显示.

所以,在这一点上,我是无能为力的.我试图尽可能地遵循指示,但我想这还不够,我现在遇到问题.我想修复应该有点简单(也许只是设置一些参数,但是我无法找到它.)

你能不能请(请:))提供一些帮助.任何帮助或暗示,非常感谢.

先感谢您!

小智 6

这里是:

要进行分发构建(根据iPhone开发中心指示),您必须复制"发布"配置并将其命名为"分发",然后在此活动配置下构建项目.检查目标的调试和分发配置信息窗口中的"标题搜索路径",我注意到值的差异,设置为(对于两个配置):

$ {BUILD_STYLE} - $ {} PLATFORM_NAME在/ usr /本地/包括

因此,每个配置都会导致$ {BUILD_STYLE} - $ {PLATFORM_NAME}被"Debug-iphoneos"和"Distribution-iphoneos"替换.静态库中的所有基类都存储在"include"文件夹中,但是没有"Distribution-iphoneos"文件夹.

这是因为我没有在静态lib项目中添加"分发"配置,就像我在主应用程序的项目中所做的那样(我不知道我必须这样做).所以为了解决这个问题,我只添加了相同的配置.在静态lib项目中并构建它.

总而言之,如果在使用引用的静态库中的类的项目中添加新配置,还要在静态lib项目中添加相同的配置并执行构建.这样主项目就能找到基类.

也许这实际上是基本的东西,对不起我只是学习语言(和XCode):).

希望这有帮助,再次感谢Alex.

问候