我有一个通用框架项目,其中包含一个库作为其主要目标,产品下是具有“lib”前缀和 .a 扩展名的库。请看下面的截图:
我正在使用一个包含框架作为其目标的第 3 方项目,并且在 Products 下是具有 .framework 扩展名的框架。请看下面的截图:
在build设置中四处寻找,我可以看到打包和链接下存在差异,其他地方可能存在更多差异。所以,这让我很好奇如何建立一个项目来生成 .framework 而不是 .a 库。
刚刚有人向我指出我正在尝试创建一个 static 框架。有没有人知道可以指导我完成更改目标产品并帮助我理解差异的好教程、博客或书籍?
谢谢。
Xcode 6 和最新的平台 SDK 允许为 iOS 构建(动态)框架。今年的 WWDC 有几场 session 介绍了如何使用框架。
带有 iOS SDK 的以前版本的 Xcode 不直接支持为 iOS 构建框架目标。虽然可以构建静态 iOS 框架,但它不受支持且有些脆弱。使用 Xcode 6 和最新的 iOS SDK,构建框架就像创建一个新的框架目标一样简单。在以前的 Xcode 版本中,它涉及的更多一些,并且 Xcode 本身不会在它应该识别的所有地方识别构建产品。将这些框架用作依赖项等只是在以前版本的 Xcode 中不起作用。
使用 Xcode 5 构建 static 框架很像构建静态库。特定于静态框架的重要项目配置设置是:
SDKROOT = iphoneos
ONLY_ACTIVE_ARCH = NO
SUPPORTED_PLATFORMS = iphonesimulator iphoneos
VALID_ARCHS = arm64 armv7 armv7s x86_64 i386
LINK_WITH_STANDARD_LIBRARIES = NO
MACH_O_TYPE = staticlib
WRAPPER_EXTENSION = framework
这将构建一个静态框架产品。 Xcode 5 将无法将其用作方案等中的依赖项。框架的文件布局将与动态框架不同。
关于ios - Xcode 如何将目标打包为 .framework(而不是 .a 库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25148583/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |