在Xcode4中的iOS项目上将静态库项目管理为类似模块的框架
包括我在内的许多人都试图为iOS创建一种静态库框架来归档某种模块化。框架是实现这一点的最佳方式,但它不是由苹果提供的,而且解决办法也不太管用在Xcode4中的iOS项目上将静态库项目管理为类似模块的框架,xcode,frameworks,xcode4,project-management,static-libraries,Xcode,Frameworks,Xcode4,Project Management,Static Libraries,包括我在内的许多人都试图为iOS创建一种静态库框架来归档某种模块化。框架是实现这一点的最佳方式,但它不是由苹果提供的,而且解决办法也不太管用 无法在生成阶段从链接选项卡引用假框架 真正的框架需要修改系统设置。但仍然无法在每个部件上顺利工作 问题是静态库需要头文件,若并没有脚本,在不同项目的另一个位置引用项目的头文件是不可能的。脚本打破了IDE的文件管理抽象 如何以一种方便的模块方式使用静态库项目?(只需将项目拖动到另一个项目中即可完成嵌入)解决方案 转到项目或目标的生成设置 查找公用标题文件夹
公共\u标题\u文件夹\u路径
)YourLibrary.framework/Headers
。我使用了${PRODUCT_NAME}.framework/Headers
自动与项目名称同步这很好,但是在归档时会遇到一些问题。发生这种情况是因为Xcode4在存档时的行为特别。这是解决办法
SKIP_INSTALL=YES
FRAMEWORK\u SEARCH\u path=“${OBJROOT}/UninstalledProducts”
。请注意,此设置仅应设置为发布
构建模式在跨平台库的情况下,可以有许多平台的项目。但有时Xcode会将某些产品显示为红色,即使它编译成功 这是Xcode的一个bug。IDE显示取决于项目生成设置的
SDKROOT
。因此,如果您对目标设置了不同的SDKROOT
,它将无法工作。您可以检查在更改项目生成设置的SDKROOT
后,产品将变为黑色。有关详细信息,请参阅此打开的雷达条目
如果您希望修复此错误,请将此报告给。重复的错误会引起苹果的注意。只需复制并粘贴我的报告:)我发现:
这似乎很有效。我已经更新了模板,删除了脚本目标。它现在从您的常规目标构建通用框架,因此您可以将其包含在工作区中或作为项目依赖项 对于真正的框架目标,您只需将其添加到“linkbinary With Libraries”中,它就会很好地显示出来 对于伪框架,Xcode无法识别目标类型,因此需要手动添加link命令。例如,假设您的框架名为Foo:
框架模板链接供不确定我们在谈论什么的人使用:不幸的是,我找不到方法来引用嵌入到另一个项目中的项目生成的库。以这种方式配置。用我的方式是可能的:)这是一个极好的侦查,也是我发现的唯一一件能够处理Xcode无法正确链接到非对等目录的子模块的事情。非常感谢。