绑定本机框架
有时,本机库会以框架的形式分发。 Objective Sharpie 提供了一项便利功能,用于通过 -framework
选项绑定正确定义的框架。
例如,绑定适用于 iOS 的 Adobe Creative SDK Framework 非常简单:
$ sharpie bind \
-framework ./AdobeCreativeSDKFoundation.framework \
-sdk iphoneos8.1
在某些情况下,框架会指定 Info.plist,说明框架应根据哪个 SDK 进行编译。 如果存在这些信息,但没有传递显式 -sdk
选项,Objective Sharpie 将从框架的 Info.plist(DTSDKName
键或 DTPlatformName
和 DTPlatformVersion
键的组合)中进行推断。
-framework
选项不允许传递显式头文件。 伞头文件是根据框架名称按惯例选择的。 如果找不到伞头文件,Objective Sharpie 将不会尝试绑定框架,你必须手动执行绑定,方法是提供要分析的正确的伞头文件,以及提供给 clang 的任何框架参数(例如 -F
框架搜索路径选项)。
实际上,指定 -framework
只是一个快捷方式。 以下绑定参数与上面的 -framework
简写是等效的。
特别重要的是提供给 clang 的 -F .
框架搜索路径(注意空格和句点,它们作为命令的一部分是必需的)。
$ sharpie bind \
-sdk iphoneos8.1 \
./AdobeCreativeSDKFoundation.framework/Headers/AdobeCreativeSDKFoundation.h \
-scope AdobeCreativeSDKFoundation.framework/Headers \
-c -F .