绑定本机框架

有时,本机库会以框架的形式分发。 Objective Sharpie 提供了一项便利功能,用于通过 -framework 选项绑定正确定义的框架。

例如,绑定适用于 iOS 的 Adobe Creative SDK Framework 非常简单:

$ sharpie bind \
    -framework ./AdobeCreativeSDKFoundation.framework \
    -sdk iphoneos8.1

在某些情况下,框架会指定 Info.plist,说明框架应根据哪个 SDK 进行编译。 如果存在这些信息,但没有传递显式 -sdk 选项,Objective Sharpie 将从框架的 Info.plistDTSDKName 键或 DTPlatformNameDTPlatformVersion 键的组合)中进行推断。

-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 .