我记得在旧的Xcode中,创建新项目下有选项可以选择创建 BSD动态库 - dylib。但是现在我只看到 Cocoa Framework ,静态库和金属库。
任何提示?
答案 0 :(得分:1)
您可以为iOS静态库创建项目,并使用以下命令从具有自定义构建阶段的静态库创建动态库:
xcrun --sdk iphoneos clang -arch <ARCH> -shared -all_load \
-o lib<NAME>.dylib lib<NAME>.a
其中<ARCH>
是armv7
或arm64
,<NAME>
是您的lib的基本名称。您可以使用file
命令检查或列出体系结构。 E.g:
file <path>/lib<NAME>.a`
lib<NAME>.a (for architecture armv7): current ar archive random library
lib<NAME>.a (for architecture arm64): current ar archive random library
如果列出了多个体系结构,Xcode就会生成一个通用的静态库。在这种情况下,您可以创建一个包含多个-arch
标志的通用共享库:
xcrun --sdk iphoneos clang -arch armv7 -arch arm64 -shared -all_load \
-o lib<NAME>.dylib lib<NAME>.a
您可能需要指定其他链接器标志(例如-l
以链接非标准库)。